2010-12-02 12:17:54 +11:00
|
|
|
#include "defs.h"
|
|
|
|
|
2011-11-23 08:32:10 +11:00
|
|
|
void addbodypart(race_t *r, enum BODYPART bp, char *name);
|
2010-12-07 18:34:26 +11:00
|
|
|
lifeform_t *addlf(cell_t *cell, enum RACE rid, int level);
|
2011-02-01 06:16:13 +11:00
|
|
|
lifeform_t *real_addlf(cell_t *cell, enum RACE rid, int level, int controller);
|
2012-03-29 07:17:47 +11:00
|
|
|
poisontype_t *addpoisontype(enum POISONTYPE id, char *name, char *desc, char *damverb, enum OBTYPE vomitob, int dam, int dampct, enum POISONSEVERITY severity, int incubationtime);
|
2011-10-07 13:38:58 +11:00
|
|
|
job_t *addjob(enum JOB id, char *name, char *desc);
|
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to
cmoe from lore:arcana instead
- [+] rename magic skillls to sorcery:fire etc?
- [+] adjust spell power calculation to take lack of sorcery skill
int oaccount
- [+] allow '\' during getchoice() and getchoicestr()
- [+] so that we can see what we have identified
- [+] lower metabolism while lmeditating
- [+] poisonous mushrooms
- [+] toadstool - poisonous
- [+] shiitake - normal
- [+] recognise via cooking skill
- [+] if you add a blood ob, 1 randmo piece of armour in the pile
becomes bloodstained
- [+] accuracy boost when attacking something who has grabbedyou
- [+] lessen gravitiy should prvent falls
* [+] bug:
- [+] add job descriptions
- [+] handle ESC in askchar
- [+] You attack the helpless the xat! You flatten the xat!
- [+] "the helpless the xat"
- [+] shoiuldn't use "flatten" sinec we're not killing it
- [+] You attack the helpless xat! You kill the xat!
- [+] ...but it wasn't dead!
- [+] flame pillar scroll no longer works
- [+] not asking for target.
- [+] use castspell
- [+] cope with 'ESC' presses during normal travel
- [+] allow "maycancel" in askchar
- [+] make wizards NOT automatically know wild magic
- [+] is F_MPMOD working? check with elf wizard.......
- [+] now it is.
- [+] bug: create an elf, go over it, v - CRASH in makedesc_race.
- [+] removeob() should update burdened status
- [+] ie drinking a potion
- [+] wizards start with a staff and a pointy hat
- [+] don't "stir in your slumber" if meditating
- [+] elves should have higher mp
- [+] dwarves should have lower mp
- [+] when monsters fail to open a door, abandon their targetcell
- [+] might be able to jsut make failing a dooropen count as a move
failure.
- [+] HiGrv didn't stop me from moving? i passed the skill check, need
to have a msg telling me this.
- [+] race descriptions.
- [+] add the descriptions
- [+] ? in @@ shows info on them.
- [+] (add ?=help in the bottom when in @ mode regardless of
showall)
- [+] make clouds expand as they disappate
- [+] modify gethitstokill() to take "useevasion" and "usearmour" as a
parameter
- [+] at adept lore, you get threat comparison. at skilled level you
get exact hit turns.
- [+] make threat calculation use gethitstokill
- [+] TEST new threat calc
* [+] way too easy to notice traps on chests from 4-5 cells away, with
only novice perception
- [+] make cloudkill create puff of poison gas rather than a cloud
- [+] attacking should count as movement (ie dont regen stamina)
- [+] need more body bash criticals.
- [+] torso bruised (acc penalty)
- [+] torso bruised badly (higher acc penalty, low dam penalty)
- [+] ribs broken (huge acc penalty, med dam penalty)
- [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3
turns)
- [+] should stop flying when you lose ocnsciousness...
- [+] warn before moving with f_pain as well. maybe cahnge
confirm_injiury_action ???
- [+] extra warrior skill: aimed strike
- [+] -50%acc
- [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
|
|
|
race_t *addrace(enum RACE id, char *name, float weight, char glyph, int glyphcolour, enum MATERIAL mat, enum RACECLASS raceclass, char *desc);
|
* [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
their victim is ADJACENT.
- [-] XP CALC
- [+] funnelweb and redback are the same.
- [+] check this is right...... i want funnel web to be worse.
- [+] make hitconfer check in calcxpval take lifetime into account
- [+] ALSO assign an xp rating to each hitconferred flag.
- [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition:
"a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
nothing happens??
* [+] throw code
- [+] wizard: ask for school specialty at start, from: fire, ice, xxx
? You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai: if we are going to player's last known loc (via targetcell),
abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends. this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
You miss the eyebat. You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
stairs
- [+] genericise: trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
pain!
The skeleton drops a blessed fuming aqua potion [tried].
The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
- [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm. like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
- [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
from that school
2011-04-23 14:27:42 +10:00
|
|
|
raceclass_t *addraceclass(enum RACECLASS id, char *name, char *pluralname, enum SKILL skill);
|
2011-06-22 16:01:48 +10:00
|
|
|
skill_t *addskill(enum SKILL id, char *name, char *desc, int traintime);
|
2011-07-21 11:43:45 +10:00
|
|
|
void addskilldesc(enum SKILL id, enum SKILLLEVEL lev, char *text, int wantmsg);
|
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
your previous space!
- [+] fix: aigetlastknownpos should return the cell that trails
point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
in that weapon or perception
- [+] cope with mosnter necromancers, etc
- [+] parserace should look for necromancer etc.
- [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
- [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
- [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
"Skymage", "Wizard" (wild)
- [+] instead of getjob() then j->name, use "getjobname(lf)"
- [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
knowledge
- [+] casting healing on myself pleased Glorana twice!
- [+] one from casting a life spell
- [+] one from casting healing.
- [+] move ones from spell.c to castspell()
- [+] new flag: f_pleasesgod v0=godid, v1=howmuch
- [+] add to other spell objects:
- [+] f_pleasesgod
- [+] GODFIRE - spelllevel * 2
- [+] GODDEATH = spelllevel
- [+] GODLIFE = spelllevel*2
- [+] GODNATURE: spelllevle*2
- [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
- [+] 1 per each positive levle of getpietylev()
- [+] glorana: life
- [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
- [+] addsubjob()
- [+] killsubjob()
- [+] show subjobs in job descriptions.
- [+] data.c: addsubjob(....
- [+] in job defs:
- [+] f_canhavesubjob sj_xxx
- [+] use this to determine whether to ask about them
- [+] redo getjobname
- [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
talk.
- [+] warrior subclasses
- [+] "Scourge"
- [+] gains magic resistance as you level up
- [+] == 5 + (level * 3) %
- [+] nospells
- [+] no mana
- [+] paladin
- [+] blessed gear
- [+] can will turn undead
- [+] healing magic
- [+] god = glorana.
- [+] cannot use spells if glorana is angry.
- [+] battlemage
- [+] starts with one spell school (fire/ice/air)
- [+] canlearn fire/ice/air spell schools
- [+] limited to adept in all schools
- [+] slightly less hp
- [+] no warrior abilities
2012-02-24 17:45:23 +11:00
|
|
|
subjob_t *addsubjob(enum SUBJOB id, char *name, char *desc, char letter);
|
2011-10-17 09:45:36 +11:00
|
|
|
object_t *addtrail(lifeform_t *lf, cell_t *where, int dir, int doprints, int doscents);
|
2011-02-16 05:21:33 +11:00
|
|
|
void adjustdamlf(lifeform_t *lf, int *amt, enum DAMTYPE damtype);
|
2011-05-27 10:41:34 +10:00
|
|
|
void adjustspeedforwater(lifeform_t *lf, int *speed);
|
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!!
- [+] blink should go to random place within lof, not los
- [+] sunglasses shuld reduce nightvis range, not visrange
* [+] since jolt needs adjacency, make it more powerful
- [+] use colours for spell descriptions
- [+] replace 'call wind' with 'zephyr'
* [+] add vault commonality.
- [+] add more common vaults - roundabout etc
* [+] change "addmonster" to take a string arg instrad of RACEID
- [+] pouring cursed water on blessed scroll didn't work.....
- [+] append "...god of xxx" to rc_god lifeforms
- [+] try to attack with f_pain -> INFINITE LOOP.
- [+] ARMOURPIERCE shouldn't hurt armour
- [+] ghast touchparalyze attack isn't working.
* [+] bug: when praying to gods, ones not in heaven aren't listed.
- [+] when a god apepars..."Hecta appears" x2
- [+] attacking fleeing lf should count as a backstab (if you have the
skill)
* [+] "nothing happens" during god spell effects
* [+] allow hunger to work on monsters
- [+] pressing 'a' on @Magic has weird results.
- [+] bug: got a gift form yumi during combat???? what for? healing?
initial vampire implementation
initial god implementation
- [+] they all start off in "heaven" map.
- [+] gods ahve f_piety. starts at 0
- [+] keep track of piety with each god. starts at 0 for each one.
* [+] let planeshift take you to heaven (for debugging)
* [+] everyone has 'pray' ability.
- [+] modpiety(rid, amt)
* [+] piety vals
* [+] when you pray
- [+] isangry(god) - ie is piety < 0
* [+] if you pray when god is angry, bad!
* [+] once piety gets over 200 or so, praying might give you a gift.
* [+] god_appears(lifeform_t *victim)
- [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per
turn).
- [+] regain through doing actions ... in progress
- [+] lose through doing actions only if you have prayed to this god
before (angergodmaybe)
- [+] special: gods don't need LOS to cast spells.
- [+] gods planeshift away if not doing anything else.
* [+] @g to see your piety levels for each god
- [+] ?g for help on gods
- [+] IN general:
- [+] prey = oneoff effect
- [+] gift = ongoing
* [+] makeangry() vs modpiety
* [+] Yumi - fem,mercy/healing - if you die within the first few turns!
Hecta - partial
Avamon - partial
2011-08-04 04:43:05 +10:00
|
|
|
void age(lifeform_t *lf, int pct);
|
- [+] increase accuracy of blessed firearms ?
* [+] in temples, holy water is just showing up as "potion of water"
- [+] make blessed/silver arrows hurt undead etc
- [+] different temple exit messages based on f_linkgod
- [+] problem: in temples, holy water only casts $5 whereas a blessing
costs around 100!
- [+] adjust cost - increase value of BLESSED potion of water
- [+] test out the new pricing...
- [+] bug in skill descriptions.... never being added.
- [+] why? debug to find out.
- [+] because firstraceclass == NULL
- [+] make monster skill determine whether you can identify them from
footprints, not perception
- [+] lorelev = novice: "you see animal footprints"
- [+] lorelev = beginner: "you see xat footprints"
- [+] perception beginner: "you see fresh xat footprints leading
north"
- [+] linkexit() shouldn't be allowed to fill in cells at the very edge
of the map.
- [+] just say can't fill in if c->locked.
- [+] electrical trap - casts chain lightning
- [+] some traps only trigger if you're on the ground (not flying)
- [+] let you be able to dodge fire traps
- [+] in io.c, show ability timers for canwill
- [+] sacrifice of cursed obs to amberon - move this from "pray" to
"offer".
- [+] once you have prayed to one god, prevent praying to opposing gods.
- [+] implement getopposinggod
- [+] implement this - "xxx ignores you"
- [+] in god display show line in red, and "prayed" as "N/A"
- [+] need an alternate amberon anger effect if you don't have any
blessed objects.
- [+] when using 'm', skill list should show 'canwill' as 'abilities',
not magic.
- [+] when using 'm', skill list should show shortcuts
- [+] change attribs to be 0-100
- [+] getskillbracket type functions
- [+] lf definitions
- [+] this impacts skill checks and their difficulty
- [+] and object boosts / penalties
- [+] and weapon attrreq
- [+] ATTRMOD
- [+] JOBATTRMOD
- [+] io.c: attrmod, jobattrmod
- [+] getstatmod()
- [+] basically anything which calls getattr()!!!
- [+] when you levelup, increase one stat by 5, not 1.
- [+] ATTRSET and ATTRMOD in spells
2012-01-19 10:11:55 +11:00
|
|
|
void adjustdamforblessings(int *dam, lifeform_t *victim, int blessed);
|
2011-10-19 10:08:14 +11:00
|
|
|
void applylfdammod(int *dam, lifeform_t *lf, object_t *wep);
|
* [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
their victim is ADJACENT.
- [-] XP CALC
- [+] funnelweb and redback are the same.
- [+] check this is right...... i want funnel web to be worse.
- [+] make hitconfer check in calcxpval take lifetime into account
- [+] ALSO assign an xp rating to each hitconferred flag.
- [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition:
"a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
nothing happens??
* [+] throw code
- [+] wizard: ask for school specialty at start, from: fire, ice, xxx
? You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai: if we are going to player's last known loc (via targetcell),
abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends. this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
You miss the eyebat. You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
stairs
- [+] genericise: trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
pain!
The skeleton drops a blessed fuming aqua potion [tried].
The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
- [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm. like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
- [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
from that school
2011-04-23 14:27:42 +10:00
|
|
|
void applywalkdam(lifeform_t *lf, int dam, enum DAMTYPE damtype, object_t *o);
|
2011-03-24 16:09:31 +11:00
|
|
|
int areallies(lifeform_t *lf1, lifeform_t *lf2);
|
|
|
|
int areenemies(lifeform_t *lf1, lifeform_t *lf2);
|
- [+] shops on a level should make loud sounds every few turns. (onein3)
- [+] inifniite loop in ?k
- [+] add to balaclava: equipconfer -> f_anonymous
- [+] can't get banned from shops with this!
- [+] when randomly increasing skills, don't select maxed ones.
- [+] remove warning for movement while bleeding
- [+] injuries heal too fast.
- [+] bug: The sound of sounds of fighting awakens you!
- [+] shouldnt be able to rest while airborne!
- [+] make drunkenness give more damage resistance!
- [+] "unseen" etc not working on tombstone
- [+] bug: merloch getting infinite attacks!!
- [+] add "a xxx moves out of view"
- [+] why are wizards starting with 2 cold spells? fixed. was getting
an extra one for gaining a "new" spell skill.
- [+] slowwalking shoudl reduce move volume, not eliminate it.
- [+] i noticed a secret iron door forom 6 cells away!
- [+] make SC_SEARCH not autopassable on natural 20.
- [+] armour can have a SIZE
- [+] remove some occurences of "f_noarmouron" for sz_large,
sz_small creatures
- [+] in "canwear", implement size check. if lf's body size isn't
sz_human then armour must have "f_armoursize -> sz_xxx"
- [+] exception for ears / eyes
- [+] f_multisize
- [+] f_armoursize sz_xxx
- [+] can only wear armour whih is your size
- [+] in io.c, show armour size
- [+] assign f_multisize to objects
- [+] when adding objects
- [+] cope with asking for "large armour" etc
- [+] adding to a lf's pack? make sure armour is the correct fit
- [+] somewhere else? 25% chance of different size. if so,
50/50 as to which way.
- [+] in getobname, show "huge armour" etc
- [+] medium ("halfling size pair of gauntlets"), human
("gauntlets"), or large ("huge gauntlets")
- [+] high sewing/metalwork skills will let you modify armour for
custom fit.
- [+] half the hit points of the object
- [+] implement a multi-level menu system for shops
- [+] text on shop exit ("thank you for your business!")
- [+] shops:
- [+] only let you donate if you can takeoff / unweild it first.
- [+] replace "vending machine" with shop
- [+] make shops/buildings their own category
- [+] this will let us say 'random shop'
- [+] enable stealing from shops
- [+] armour
- [+] book
- [+] weapon
- [+] general
- [+] potion
- [+] hardware
- [+] food
- [+] jeweller
- [+] always show full name for shop items
- [+] temple of xxx -
- [+] actions
- [+] donate
- [+] detect curse
- [+] bless(costs more if equipped)
- [+] absolve sins
- [+] special depending on who the temple is to?
- [+] temple of'xxx' - assign in addobject()
- [+] extend CHA/SPEECH mods to all shops
- [+] disable stacking for shop objects
- [+] hotel/inn
- [+] actions
- [+] pay to rest (for 100 turns)
- [+] if you do this, call startresting() before exitting
shop
- [+] and set some kind of flag so monsters will never
approach
- [+] maybe: f_resting_in_hotel
- [+] and so that they will never wake up you up through
sound
- [+] remove these when you stop resting.
- [+] force you to stop resting once your time expires
- [+] buy food/drink
- [+] weapon shop:
- [+] donate weapons
- [+] armour shop:
- [+] buy armour
- [+] donate armour (so that monsters don't pick it up!)
* [+] firearm reload messages
- [+] don't take f_throwmissile into account when using telekinesis
- [+] ranged weapons: auto reload after firing.
- [+] done.
2011-11-16 11:57:21 +11:00
|
|
|
int armourfits(lifeform_t *lf, object_t *o, enum ERROR *reason);
|
2012-01-21 11:35:04 +11:00
|
|
|
int askforinfo(lifeform_t *lf, int diffmod);
|
2012-02-08 10:28:48 +11:00
|
|
|
//int askforpayment(lifeform_t *shk, lifeform_t *lf);
|
2012-03-27 07:21:43 +11:00
|
|
|
char *assignnpcname(flagpile_t *fp);
|
2012-01-30 09:47:43 +11:00
|
|
|
void autoshortcut(lifeform_t *lf, enum OBTYPE spellid);
|
2011-03-18 12:25:18 +11:00
|
|
|
void autoskill(lifeform_t *lf);
|
2012-02-29 17:05:14 +11:00
|
|
|
void autospells(lifeform_t *lf, int howmany);
|
2011-02-01 06:16:13 +11:00
|
|
|
void autotarget(lifeform_t *lf);
|
|
|
|
void autoweild(lifeform_t *lf);
|
|
|
|
int appearsrandomly(enum RACE rid);
|
* [+] need to set "needredraw" every time we exit:
- [+] make eating take longer - depends on lf size and food sizes
* [+] stop eating if something attacks you!
- [+] change spell code to cope with caster = NULL!!
- [+] why are rooms never more than 2 high
* [+] traps
* [+] eating bug again
* [+] disarm trap skill?
- [+] lots of needredraw bugs
- [+] bug with cursor jumping around lots
- [+] draw darkened visible cells in blue
* [+] shadow cloak
- [+] tree shouldn't prevent resting!
- [+] make plants not attack druids
* [+] cooking
- [+] stop eating if your eating object is no longer with you
* [+] FLAG CORRUPTION BUG
- [+] pet walking back and forth on rotted objects
- [+] purified food shouldn't decay anymore.
- [+] plants shouldn't sleep
- [+] RESTING on statbar not being cleared. the add of f_interrupted
was clearing statdirty before f_asleep got removed in killflag().
- [+] AI: don't eat if in battle
- [+] reduce projectile damage
- [+] show raceclass in statbars
- [+] smoke should make you cough.
- [+] when going up levle, only prompt for spells you can cast?? (don't
show "NOTCASTABLE")
- [+] Your young hawk dies. The stirge releases something!
- [+] sleeping thigns shoudn't follow you up/down stairs.
- [+] when throw'ng an object, don't let it stack (otherwise we might
destroy too much)
- [+] don't draw "c - " for nopickup objects.
- [+] saving throw for traps if you know about it.
- [+] druid - get xp for calming animals
- [+] rogue- get xp for picking locks, disarming traps.
- [+] metal should be immune to most damage types
* [+] make heavy blow need HEAVY weapon, not bashing.
- [+] can't rest/train while levitating!
- [+] gas traps only go off once.
- [+] bug: The goblin throws a boulder at you. A boulder misses you.
- [+] don't give short sword skill to wizard.
- [+] hearing range based on listen skill
* [+] coldness disease:
- [+] CRASH when swapping places
- [+] bug: i can teleport into an impassable object!
- [+] add: "really target (your ally)?"
- [+] give wizards school-based skill instead of manaspike + wildmagic
- [+] LevUp still not being cleared!!!
* [+] why is air wizard being prompted for call lightning at level 2???
* [+] summon weapon (summoning)
- [+] hold portal (mod)
- [+] reveal hidden
- [+] stench (death)
- [+] frostbite (minor but direct cold damage. 1dpower. maxpower 3)
- [+] grease (modific) creates oil in a circle
- [+] fear (death)
- [+] seeinvis (div)
- [+] locate obejct (div) tells you where a seen objcet is.
- [+] swap places (transl) "twiddle"
- [+] fire brand (fire, melee attaks deal fire damage)
- [+] iceedge
- [+] lore (div, temporary knowledge from a particular school?)
- [+] icicle (cold, deals cold dam and knocks enemies away)
* [+] chill (ice, 1d3 damage per exposed body part)
- [+] hail storm (ice, big damage in area)
- [+] wall of ice (creates icy wall, hp based on power)
2011-05-12 11:49:35 +10:00
|
|
|
void awardxpfor(lifeform_t *killed, float pct);
|
- [+] intelligent (ie. more than animal) ai shouldn't move if it will
cause damage
- [+] move_will_hurt()
- [+] ie. if in PAIN, or appropriate injury.
- [+] if you're deaf, use "the xx says something" rather than "the xx
says yy"
- [+] STILL reachability errors in dlev 6 (jimbos' lair not linked)
- [+] new forest habitat mechanism - clusters of trees
- [+] bashing injury if you are slammed into a wall?
- [+] jimbo didn't have a weapon! "+2 halberd" not working
- [+] if you don't have knowledge about a creature, still show items
(but only equipped ones)
- [+] listen skill should take longer to train
- [+] candle should last longer
- [+] carrot grants temp darkvision
- [+] shouldn't be able to eat stuff from floor while levitating
- [+] CHANGE f_hitdice to use text
- [+] fear spell from dretch always failing even on l1 player. why?
* [+] summondemon spell
- [+] adjust spell damage - 1d6 per level.
ice spells:
- [+] l4 - ice armour (higher power means more pieces of ice armour)
- [+] (power/3)+1 pieces of armour. ie. 1 - 4
- [+] order: body,helmet, gloves, feet
- [+] 4AC each.
* [+] l5 - shardshot (higher level ray damage, does less damage the
further away it goes)
- [+] l5 - snap freeze ? turn one lf to ice?
- [+] more things which use light attacks (ie. make glasses useful)
- [+] replace bp_righthand with bp_rightfinger
- [+] bug in blink spell: "Nothing seems to happen."
- [+] make metal resist bite/slash/chop, not be immune.
- [+] fix shatter spell on glass wall
* [+] bug: in jimbos vault and plaeyrstart2, exits are being added in
in appropriate places.
* [+] make player's starting point be a "prison_cell" vault.
- [+] earplugs - stop all sound.
- [+] make f_deaf an intrinsic (ie. announcements)
- [+] add the object
critical hits:
- [+] "you hit xxx" "xxx turns to flee" "xxx's leg is bruised"
- [+] need losehp to NOT trigger fightback in this case - we will
trigger it ourself after crithit.
- [+] pass this as a param?
- [+] critical eye hits
- [+] scraped eyelid (slash, lower accuracy)
- [+] black eye (bash, lower vision range and charisma)
- [+] destroyed eye (pierce, permenant lower vision range!)
- [+] injuries heal heaps faster when asleep
- [+] redo f_injured flag to use an "enum INJURY" IJ_xxx
- [+] change how it is applied
- [+] change how it is announced (io.c)
- [+] change how effects work (search for F_INJURY)
- [+] pierce
- [+] pierced artery: v.high bleed
- [+] stabbed heart (instant death, very unlikely)
- [+] slash:
- [+] cut flexor tendon (cannot weild ANY weapon)
- [+] slashed hamstring (fall. skillcehck every time you move,
vslow movement)
- [+] severed finger
- [+] finger drops to the ground
- [+] ring drops to the ground
- [+] (get nobodypart bp_rightfinger or bp_leftfinger)
- [+] bash:
- [+] dislocated arm (cannot weild anything heavy in that hand)
- [+] broken rib (reduced carrying capacity)
- [+] swelled ankle (cannot remove or put on boots)
2011-09-06 08:04:51 +10:00
|
|
|
void bleed(lifeform_t *lf, int splatter);
|
2011-09-13 09:52:21 +10:00
|
|
|
int bleedfrom(lifeform_t *lf, enum BODYPART bp, int splatter);
|
2011-11-23 08:32:10 +11:00
|
|
|
int bpcantakearmour(lifeform_t *lf, enum BODYPART bp);
|
2011-08-18 06:57:43 +10:00
|
|
|
void breakgrabs(lifeform_t *lf, int fromme, int tome);
|
- [+] shops on a level should make loud sounds every few turns. (onein3)
- [+] inifniite loop in ?k
- [+] add to balaclava: equipconfer -> f_anonymous
- [+] can't get banned from shops with this!
- [+] when randomly increasing skills, don't select maxed ones.
- [+] remove warning for movement while bleeding
- [+] injuries heal too fast.
- [+] bug: The sound of sounds of fighting awakens you!
- [+] shouldnt be able to rest while airborne!
- [+] make drunkenness give more damage resistance!
- [+] "unseen" etc not working on tombstone
- [+] bug: merloch getting infinite attacks!!
- [+] add "a xxx moves out of view"
- [+] why are wizards starting with 2 cold spells? fixed. was getting
an extra one for gaining a "new" spell skill.
- [+] slowwalking shoudl reduce move volume, not eliminate it.
- [+] i noticed a secret iron door forom 6 cells away!
- [+] make SC_SEARCH not autopassable on natural 20.
- [+] armour can have a SIZE
- [+] remove some occurences of "f_noarmouron" for sz_large,
sz_small creatures
- [+] in "canwear", implement size check. if lf's body size isn't
sz_human then armour must have "f_armoursize -> sz_xxx"
- [+] exception for ears / eyes
- [+] f_multisize
- [+] f_armoursize sz_xxx
- [+] can only wear armour whih is your size
- [+] in io.c, show armour size
- [+] assign f_multisize to objects
- [+] when adding objects
- [+] cope with asking for "large armour" etc
- [+] adding to a lf's pack? make sure armour is the correct fit
- [+] somewhere else? 25% chance of different size. if so,
50/50 as to which way.
- [+] in getobname, show "huge armour" etc
- [+] medium ("halfling size pair of gauntlets"), human
("gauntlets"), or large ("huge gauntlets")
- [+] high sewing/metalwork skills will let you modify armour for
custom fit.
- [+] half the hit points of the object
- [+] implement a multi-level menu system for shops
- [+] text on shop exit ("thank you for your business!")
- [+] shops:
- [+] only let you donate if you can takeoff / unweild it first.
- [+] replace "vending machine" with shop
- [+] make shops/buildings their own category
- [+] this will let us say 'random shop'
- [+] enable stealing from shops
- [+] armour
- [+] book
- [+] weapon
- [+] general
- [+] potion
- [+] hardware
- [+] food
- [+] jeweller
- [+] always show full name for shop items
- [+] temple of xxx -
- [+] actions
- [+] donate
- [+] detect curse
- [+] bless(costs more if equipped)
- [+] absolve sins
- [+] special depending on who the temple is to?
- [+] temple of'xxx' - assign in addobject()
- [+] extend CHA/SPEECH mods to all shops
- [+] disable stacking for shop objects
- [+] hotel/inn
- [+] actions
- [+] pay to rest (for 100 turns)
- [+] if you do this, call startresting() before exitting
shop
- [+] and set some kind of flag so monsters will never
approach
- [+] maybe: f_resting_in_hotel
- [+] and so that they will never wake up you up through
sound
- [+] remove these when you stop resting.
- [+] force you to stop resting once your time expires
- [+] buy food/drink
- [+] weapon shop:
- [+] donate weapons
- [+] armour shop:
- [+] buy armour
- [+] donate armour (so that monsters don't pick it up!)
* [+] firearm reload messages
- [+] don't take f_throwmissile into account when using telekinesis
- [+] ranged weapons: auto reload after firing.
- [+] done.
2011-11-16 11:57:21 +11:00
|
|
|
void breakaitargets(lifeform_t *lf, int onlylowerlev);
|
2011-05-16 12:03:25 +10:00
|
|
|
long calcscore(lifeform_t *lf);
|
2011-02-16 05:21:33 +11:00
|
|
|
int calcxp(lifeform_t *lf);
|
|
|
|
int calcxprace(enum RACE rid);
|
2011-06-29 18:48:48 +10:00
|
|
|
void callguards(lifeform_t *caller, lifeform_t *victim);
|
2011-09-15 08:42:54 +10:00
|
|
|
int canattack(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int cancast(lifeform_t *lf, enum OBTYPE oid, int *mpcost);
|
2011-11-07 13:12:04 +11:00
|
|
|
int cancook(lifeform_t *lf, recipe_t *rec, enum ERROR *reason);
|
2011-11-03 09:34:15 +11:00
|
|
|
int canclimb(lifeform_t *lf, enum ERROR *reason);
|
2011-03-16 15:45:46 +11:00
|
|
|
int candrink(lifeform_t *lf, object_t *o);
|
2011-02-01 06:16:13 +11:00
|
|
|
int caneat(lifeform_t *lf, object_t *o);
|
2012-01-18 07:46:23 +11:00
|
|
|
int canhaverandombehaviour(lifeform_t *lf);
|
2011-07-01 13:34:41 +10:00
|
|
|
int canhear(lifeform_t *lf, cell_t *c, int volume);
|
2011-04-06 17:27:55 +10:00
|
|
|
int canlearn(lifeform_t *lf, enum SKILL skid);
|
2011-11-07 13:12:04 +11:00
|
|
|
int canmakerecipe(lifeform_t *lf, recipe_t *rec);
|
2011-06-09 18:58:35 +10:00
|
|
|
int canopendoors(lifeform_t *lf);
|
2011-02-16 05:21:33 +11:00
|
|
|
int canpickup(lifeform_t *lf, object_t *o, int amt);
|
2011-04-11 15:05:45 +10:00
|
|
|
int canpolymorphto(enum RACE rid);
|
2011-02-01 06:16:13 +11:00
|
|
|
int canpush(lifeform_t *lf, object_t *o, int dir);
|
|
|
|
int canquaff(lifeform_t *lf, object_t *o);
|
2011-11-03 09:34:15 +11:00
|
|
|
int canreach(lifeform_t *lf, lifeform_t *victim, int *reachpenalty);
|
- [+] don't place draininge grates on low floor!!
- [+] gate spell should always take you to a location wihtout water!!
- [+] enhance speak with dead spell (SPEAKDEAD)
- [+] may ask "how did you die" plus one of the below:
- [+] tell me about the area
- [+] mark stairs on the map
- [+] mark shops on the map
- [+] tell about very rare objects
- [+] tell me about nearby dangers
- [+] tell about odd monsters
- [+] tell about traps
- [+] test
- [+] let you ask peaceful lfs about the surroundings too
- [+] move code into io.c "askaboutarea(char *who)"
- [+] test
- [+] the first time you ask someone for info, randomly determine
whether they know about:
- [+] stairs (high chance)
- [+] shops (medium chance)
- [+] traps (low chance)
- [+] areacomms_danger should include out of depth monsters - need
isoutofdepth(lf)
- [+] room floors should take the entry type from the habitat, NOT just
use ct_room!!!!
- [+] sometimes generate fixed SEWER regionthings
- [+] done
- [+] BUG: canT enter goblin caves again!!!!
- [+] getting "ERROR - can't find opposite end of stairs/portal!"
- [+] FAILED to link stiars: 'tunnel leading up'
- [+] make maps direct you to regionthings.
- [+] region things need unique IDs !!!
- [+] change F_MAPTO
- [+] v0 = src region id
- [+] v1 = src depth
- [+] v2 = regionthing with whatkind = RT_REGIONLINK
- [+] when generating map objects, fill in a random branch entry
- [+] fix getobname code for unknown maps.
- [+] TEST
- [+] with "map to the goblin caves"
- [+] with "map"
- [+] with "map to"
- [+] use "the goblin caves are to the north", not "is to the north"
- [+] is
- [+] isn't
- [+] test reading a map when on the wrong branch
- [+] test reading a map when on the wrong level
- [+] test reading a map when on the right level
- [+] move staircase generation to END of map create
- [+] finalisemap()
- [+] countobswithflagval(obpile, flagid, val0...)
- [+] countmapobswithflagval(map, flagid, v0...)
- [+] jimbo's map should lead you to one of the major branches.
- [+] crit pos shouldn't be higher than you can reach!
- [+] same size or bigger = can reach anything
- [+] 1 size smaller = you can't reach the head
- [+] 2 sizes smaller = can't reach head or hands
- [+] 3 sizes smaller = can't reach head, hands or body
- [+] jimbo's room should contain all the staircases
- [+] make you have to pass a speech check before people will tell you
about the area
- [+] bug in recruitment skillchecks - using wrong attribute, and too
easy.
- [+] rename dwarf to delver
- [+] somtimes say "dons" instead of "puts on"
2012-01-05 02:54:28 +11:00
|
|
|
int canreachbp(lifeform_t *lf, lifeform_t *victim, enum BODYPART bp);
|
2011-03-16 15:45:46 +11:00
|
|
|
int cansee(lifeform_t *viewer, lifeform_t *viewee);
|
2011-08-24 18:15:09 +10:00
|
|
|
int cansee_real(lifeform_t *viewer, lifeform_t *viewee, int uselos);
|
* [+] need to set "needredraw" every time we exit:
- [+] make eating take longer - depends on lf size and food sizes
* [+] stop eating if something attacks you!
- [+] change spell code to cope with caster = NULL!!
- [+] why are rooms never more than 2 high
* [+] traps
* [+] eating bug again
* [+] disarm trap skill?
- [+] lots of needredraw bugs
- [+] bug with cursor jumping around lots
- [+] draw darkened visible cells in blue
* [+] shadow cloak
- [+] tree shouldn't prevent resting!
- [+] make plants not attack druids
* [+] cooking
- [+] stop eating if your eating object is no longer with you
* [+] FLAG CORRUPTION BUG
- [+] pet walking back and forth on rotted objects
- [+] purified food shouldn't decay anymore.
- [+] plants shouldn't sleep
- [+] RESTING on statbar not being cleared. the add of f_interrupted
was clearing statdirty before f_asleep got removed in killflag().
- [+] AI: don't eat if in battle
- [+] reduce projectile damage
- [+] show raceclass in statbars
- [+] smoke should make you cough.
- [+] when going up levle, only prompt for spells you can cast?? (don't
show "NOTCASTABLE")
- [+] Your young hawk dies. The stirge releases something!
- [+] sleeping thigns shoudn't follow you up/down stairs.
- [+] when throw'ng an object, don't let it stack (otherwise we might
destroy too much)
- [+] don't draw "c - " for nopickup objects.
- [+] saving throw for traps if you know about it.
- [+] druid - get xp for calming animals
- [+] rogue- get xp for picking locks, disarming traps.
- [+] metal should be immune to most damage types
* [+] make heavy blow need HEAVY weapon, not bashing.
- [+] can't rest/train while levitating!
- [+] gas traps only go off once.
- [+] bug: The goblin throws a boulder at you. A boulder misses you.
- [+] don't give short sword skill to wizard.
- [+] hearing range based on listen skill
* [+] coldness disease:
- [+] CRASH when swapping places
- [+] bug: i can teleport into an impassable object!
- [+] add: "really target (your ally)?"
- [+] give wizards school-based skill instead of manaspike + wildmagic
- [+] LevUp still not being cleared!!!
* [+] why is air wizard being prompted for call lightning at level 2???
* [+] summon weapon (summoning)
- [+] hold portal (mod)
- [+] reveal hidden
- [+] stench (death)
- [+] frostbite (minor but direct cold damage. 1dpower. maxpower 3)
- [+] grease (modific) creates oil in a circle
- [+] fear (death)
- [+] seeinvis (div)
- [+] locate obejct (div) tells you where a seen objcet is.
- [+] swap places (transl) "twiddle"
- [+] fire brand (fire, melee attaks deal fire damage)
- [+] iceedge
- [+] lore (div, temporary knowledge from a particular school?)
- [+] icicle (cold, deals cold dam and knocks enemies away)
* [+] chill (ice, 1d3 damage per exposed body part)
- [+] hail storm (ice, big damage in area)
- [+] wall of ice (creates icy wall, hp based on power)
2011-05-12 11:49:35 +10:00
|
|
|
int cansleep(lifeform_t *lf);
|
2011-10-07 13:38:58 +11:00
|
|
|
int canuseweapons(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int canwear(lifeform_t *lf, object_t *o, enum BODYPART where);
|
2010-12-07 18:34:26 +11:00
|
|
|
int canweild(lifeform_t *lf, object_t *o);
|
|
|
|
int cantakeoff(lifeform_t *lf, object_t *o);
|
2011-11-07 13:12:04 +11:00
|
|
|
int cantalk(lifeform_t *lf);
|
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to
cmoe from lore:arcana instead
- [+] rename magic skillls to sorcery:fire etc?
- [+] adjust spell power calculation to take lack of sorcery skill
int oaccount
- [+] allow '\' during getchoice() and getchoicestr()
- [+] so that we can see what we have identified
- [+] lower metabolism while lmeditating
- [+] poisonous mushrooms
- [+] toadstool - poisonous
- [+] shiitake - normal
- [+] recognise via cooking skill
- [+] if you add a blood ob, 1 randmo piece of armour in the pile
becomes bloodstained
- [+] accuracy boost when attacking something who has grabbedyou
- [+] lessen gravitiy should prvent falls
* [+] bug:
- [+] add job descriptions
- [+] handle ESC in askchar
- [+] You attack the helpless the xat! You flatten the xat!
- [+] "the helpless the xat"
- [+] shoiuldn't use "flatten" sinec we're not killing it
- [+] You attack the helpless xat! You kill the xat!
- [+] ...but it wasn't dead!
- [+] flame pillar scroll no longer works
- [+] not asking for target.
- [+] use castspell
- [+] cope with 'ESC' presses during normal travel
- [+] allow "maycancel" in askchar
- [+] make wizards NOT automatically know wild magic
- [+] is F_MPMOD working? check with elf wizard.......
- [+] now it is.
- [+] bug: create an elf, go over it, v - CRASH in makedesc_race.
- [+] removeob() should update burdened status
- [+] ie drinking a potion
- [+] wizards start with a staff and a pointy hat
- [+] don't "stir in your slumber" if meditating
- [+] elves should have higher mp
- [+] dwarves should have lower mp
- [+] when monsters fail to open a door, abandon their targetcell
- [+] might be able to jsut make failing a dooropen count as a move
failure.
- [+] HiGrv didn't stop me from moving? i passed the skill check, need
to have a msg telling me this.
- [+] race descriptions.
- [+] add the descriptions
- [+] ? in @@ shows info on them.
- [+] (add ?=help in the bottom when in @ mode regardless of
showall)
- [+] make clouds expand as they disappate
- [+] modify gethitstokill() to take "useevasion" and "usearmour" as a
parameter
- [+] at adept lore, you get threat comparison. at skilled level you
get exact hit turns.
- [+] make threat calculation use gethitstokill
- [+] TEST new threat calc
* [+] way too easy to notice traps on chests from 4-5 cells away, with
only novice perception
- [+] make cloudkill create puff of poison gas rather than a cloud
- [+] attacking should count as movement (ie dont regen stamina)
- [+] need more body bash criticals.
- [+] torso bruised (acc penalty)
- [+] torso bruised badly (higher acc penalty, low dam penalty)
- [+] ribs broken (huge acc penalty, med dam penalty)
- [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3
turns)
- [+] should stop flying when you lose ocnsciousness...
- [+] warn before moving with f_pain as well. maybe cahnge
confirm_injiury_action ???
- [+] extra warrior skill: aimed strike
- [+] -50%acc
- [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
|
|
|
int castspell(lifeform_t *lf, enum OBTYPE sid, lifeform_t *targlf, object_t *targob, cell_t *targcell, object_t *fromob, int *seen);
|
2011-08-20 14:14:39 +10:00
|
|
|
int celllitfor(lifeform_t *lf, cell_t *c, int maxvisrange, int nightvisrange);
|
|
|
|
int celltransparentfor(lifeform_t *lf, cell_t *c, int *xray, int *rangemod);
|
- [+] bug: notime being set in timeeffectslf() but NOT being UNSET!!!
- [+] air spells:
- [+] create whirlwind - make a single whirlwind
- [+] implement
- [+] ethereal steed - move very fast and levitate
- [+] f_autocreateob whirlwind behind you
- [+] whirlwind object throws any lfs/objects around randomly
- [+] tornado - creates a single tornado at a given location (more
powerful). it moves around randomly, kills adjacent walls.
- [+] F_OBMOVESRANDOMLY
- [+] find an adjacent cell (walls ok)
- [+] kill any walls there
- [+] move there
- [+] hurricane - creates a cross cloud of whirlwinds (very
powerful!). these move around randomly and kills adjacent
walls.
- [+] implement
- [+] make them all move TOGETHER.
- [+] djinni / genie
- [+] invisibility
- [+] gaseous form
- [+] illusion? mirror image ?
- [+] permenant ethereal steed effects
- [+] airblast
- [+] gust of wind
- [+] efreeti
- [+] wall of fire (new spell)
- [+] gas form
- [+] enlarge
- [+] flame pillar
- [+] when summoning a monster with a lifeob, place it under them?
- [+] druid should learn canwill plantwalk at some point... level 7
- [+] allow f_cancast to have a timer too, like canwill. (so that
monsters only cast certain spells sometimes)
- [+] is ai plantwalk working?
- [+] seems to...
- [+] but then i get "something casts a spell at you!"
- [+] aigetspelltarget is setting targlf to player. FIXED.
- [+] ai keeps on casting plantwalk after doing it once.
- [+] ai needs to sto fleeing after casting plantwalk successfully!
- [+] this is because after stealing, we are fleeing for a time
limit, rather than PERMENANT
- [+] once this is fixed, add spellcasttext plantwalk = null for
dryad.
- [+] NEw code: if you teleport, and you were fleeing, and you can no
longer have LOF to the one uou're fleeing from, STOP.
- [+] The dryad vanishes! A dryad moves out of view.--More--
- [+] don't say both!
- [+] change CHARMEDBY code for player:
- [+] walk towards charmer, then give them your stuff!
- [+] dryad brown 'T' (tree creature)
- [+] knife
- [+] must stay near oak tree
- [+] can "plantwalk" between oak trees (or other plants).
- [+] cast spell at cell with plant, warps you to a random one
- [+] for player: reveal all cells with trees, then ask
you which one.
- [+] range 1
- [+] maxpower 1
- [+] ai casting: must be a plant in range.
- [+] emergency code: if not within lifeob range, move back!
- [+] can cast sleep
- [+] wants gold/gems/weapons
- [+] home oak tree contains gems
- [+] steal
- [+] stayinroom
- [+] charm
- [+] AI shouldn't ever walk away from life ob!
- [+] ai homeob gems aren't appearing
2012-03-07 22:46:55 +11:00
|
|
|
int charmedaction(lifeform_t *lf, flag_t *charmflag);
|
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to
cmoe from lore:arcana instead
- [+] rename magic skillls to sorcery:fire etc?
- [+] adjust spell power calculation to take lack of sorcery skill
int oaccount
- [+] allow '\' during getchoice() and getchoicestr()
- [+] so that we can see what we have identified
- [+] lower metabolism while lmeditating
- [+] poisonous mushrooms
- [+] toadstool - poisonous
- [+] shiitake - normal
- [+] recognise via cooking skill
- [+] if you add a blood ob, 1 randmo piece of armour in the pile
becomes bloodstained
- [+] accuracy boost when attacking something who has grabbedyou
- [+] lessen gravitiy should prvent falls
* [+] bug:
- [+] add job descriptions
- [+] handle ESC in askchar
- [+] You attack the helpless the xat! You flatten the xat!
- [+] "the helpless the xat"
- [+] shoiuldn't use "flatten" sinec we're not killing it
- [+] You attack the helpless xat! You kill the xat!
- [+] ...but it wasn't dead!
- [+] flame pillar scroll no longer works
- [+] not asking for target.
- [+] use castspell
- [+] cope with 'ESC' presses during normal travel
- [+] allow "maycancel" in askchar
- [+] make wizards NOT automatically know wild magic
- [+] is F_MPMOD working? check with elf wizard.......
- [+] now it is.
- [+] bug: create an elf, go over it, v - CRASH in makedesc_race.
- [+] removeob() should update burdened status
- [+] ie drinking a potion
- [+] wizards start with a staff and a pointy hat
- [+] don't "stir in your slumber" if meditating
- [+] elves should have higher mp
- [+] dwarves should have lower mp
- [+] when monsters fail to open a door, abandon their targetcell
- [+] might be able to jsut make failing a dooropen count as a move
failure.
- [+] HiGrv didn't stop me from moving? i passed the skill check, need
to have a msg telling me this.
- [+] race descriptions.
- [+] add the descriptions
- [+] ? in @@ shows info on them.
- [+] (add ?=help in the bottom when in @ mode regardless of
showall)
- [+] make clouds expand as they disappate
- [+] modify gethitstokill() to take "useevasion" and "usearmour" as a
parameter
- [+] at adept lore, you get threat comparison. at skilled level you
get exact hit turns.
- [+] make threat calculation use gethitstokill
- [+] TEST new threat calc
* [+] way too easy to notice traps on chests from 4-5 cells away, with
only novice perception
- [+] make cloudkill create puff of poison gas rather than a cloud
- [+] attacking should count as movement (ie dont regen stamina)
- [+] need more body bash criticals.
- [+] torso bruised (acc penalty)
- [+] torso bruised badly (higher acc penalty, low dam penalty)
- [+] ribs broken (huge acc penalty, med dam penalty)
- [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3
turns)
- [+] should stop flying when you lose ocnsciousness...
- [+] warn before moving with f_pain as well. maybe cahnge
confirm_injiury_action ???
- [+] extra warrior skill: aimed strike
- [+] -50%acc
- [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
|
|
|
int checkburdened(lifeform_t *lf, int preburdened);
|
Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange. for melee fighters (default), it's 0. for
spells/archers, it's higiher.
- [+] if we are further away than bestrange, move towards.
- [+] if we are closer than bestrange, move away
- [+] AND: move to wantrange before doing spells etc
- [+] if we have a ranged attack and wantrange is default, increase
it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
acceptable!
* [+] mflag_push for monsters
http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent
* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
- [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
15).
- [+] CRASH flagpile corrupt
- [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
- [+] ex: your tracks don't last as long
- [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
- [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
- [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
|
|
|
int checkfordrowning(lifeform_t *lf, object_t *o);
|
2011-08-31 06:10:43 +10:00
|
|
|
int check_rest_ok(lifeform_t *lf);
|
Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange. for melee fighters (default), it's 0. for
spells/archers, it's higiher.
- [+] if we are further away than bestrange, move towards.
- [+] if we are closer than bestrange, move away
- [+] AND: move to wantrange before doing spells etc
- [+] if we have a ranged attack and wantrange is default, increase
it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
acceptable!
* [+] mflag_push for monsters
http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent
* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
- [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
15).
- [+] CRASH flagpile corrupt
- [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
- [+] ex: your tracks don't last as long
- [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
- [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
- [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
|
|
|
//void checkxp(enum RACE rid);
|
- [+] delvers should always want money for info, unless you are a
delver too.
- [+] mirror image (mental)
- [+] varpower
- [+] makes power 'clone' lfs who look the same as caster
- [+] ie. same race.
- [+] also same job/armour/weps?
- [+] add f_noxp
- [+] add f_nocorpse
- [+] add f_summonedby so they vanish when the caster dies
- [+] add f_phantasm
- [+] vanish after _power_ hits,
- [+] attacks do 0 damage
- [+] don't announce innefectual attacks
- [+] dont cast spells or use abilities
- [+] petify() them if made by the player
- [+] force them to stay close.
- [+] in io.c or getlfname, show "[clone]" if it has f_phantasm
and was created by player
- [+] mosnters try to attack them.
- [+] once one gets hit enough times, it disappears
- [+] if the caster dies or changes level, they disappear.
- [+] can't talk to them
- [+] their obejcts vanish when they die
- [+] don't talk
- [+] make Yumi more about forgiving silly mistakes and avoiding
instakills
- [+] remove liking of healing
- [+] remove like of healing spells
- [+] takes a long time to anger.
- [+] aviod traps (bamf you away before they trigger)
- [+] prayers:
- [+] resist stoning (pray while appropriate creatures around)
- [+] resist paralysis (pray while appropriate creatures around)
- [+] sleep on enemies
- [+] passive powers:
- [+] always warn as if wisdom is high (passive)
- [+] always save when killed right after using stairs
(passive) "well, that seemed unfair."
- [+] gift:
- [+] auto sixth sense
- [+] potions of restoration
- [+] ring of miracles
- [+] shouldn't be able to Offer while enraged.
- [+] don't lose stamina while caffeinated
- [+] new vault: pit with walkway around it
- [+] bug: when worshipping yumi you get "you kill xxx" but they're
still alive
- [+] ... but they're still alive!
- [+] ... for yumi, move KO chance from losehp() to attacklf().
- [+] do the check BEFORE setting 'fatal'
- [+] pass forceko to losehp_real
- [+] bug: adjustdamhardness should only trigger when ismeleedam() is
true, not isphysicaldam()
- [+] greatly reduce motel cost
- [+] change order in attack.c: apply damage THEN announce, to deal
with KO
- [+] do it.
- [+] test KO code.
- [+] then check that feign death still works
- [+] demonskin vest should be flammable or vulnerable to fire.
- [+] time to get up should depend on size.
- [+] less than human: shortnone
- [+] human: normal
- [+] larger than human: longer
- [+] expert unarmed now gives you 'flip'
- [+] reduce damage done by low-level monsters
- [+] change resoration into a spell
- [+] implement
- [+] test
- [+] new spell: ressurection
- [+] corpses need to remember their lf's level
- [+] test
- [+] godstone of life - revives/restores all
- [+] rename "confiscate" to "yoink", and make it take a random object
at power 1, selected at power 2
- [+] gods should attack player if they are Enraged or Furious
- [+] is STR calc to see if you can push a boulder still working?
- [+] change to wizards:
- [+] start at novice in all magic skills (but don't gain initial
spells)
- [+] killing undead should please glorana LOTS. because it's hard to
gain piety with her otherwise.
- [+] restoration spells/potion should hurt undead
- [+] healing spells/potions should hurt undead
- [+] immolate shouldnt work if there is aleady a fire tehre.
CODE FOR WINNING THE GAME:
- [+] get at least one godstone
- [+] exit the dungeon
- [+] find the portal to the realm of gods
- [+] opposing god should appear once you pick up a godstone, and tell
you what to do next.
- [+] "come to the realm of gods and use it to destroy (related
god)"
- [+] "or if you lack the courage, give it to me!"
- [+] "you will find a portal on the surface"
- [+] use the portal to teleport to realm of gods
- [+] implement text for all gods...
- [+] god text in wt_god - should say 'but you werent meant to replace
them!'
- [+] EITHER:
- [+] challenge and defeat the god related to this godstone (more
points. "Crowned the god of xxx.")
- [+] TEST
- [+] offer the godstone to the godstone's opposing god (less
points, "Ascended to demigod-hood.")
- [+] implement
- [+] TEST
GODSTONES:
- [+] klikirak: rage
- [+] done
- [+] (make this one have fire effects too)
- [+] glorana: life
- [+] Felix shouldn't be able to yoink the godstone off you!
- [+] Write up the rest of the Godstone finding text.....
- [+] magic
- [+] battle
- [+] life
- [+] mercy
- [+] you can't hurt gods unless you
- [+] a) have their godstone
- [+] b) are in the realm of gods
2012-02-17 16:16:45 +11:00
|
|
|
lifeform_t *clonelf(lifeform_t *src, cell_t *where);
|
* [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
their victim is ADJACENT.
- [-] XP CALC
- [+] funnelweb and redback are the same.
- [+] check this is right...... i want funnel web to be worse.
- [+] make hitconfer check in calcxpval take lifetime into account
- [+] ALSO assign an xp rating to each hitconferred flag.
- [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition:
"a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
nothing happens??
* [+] throw code
- [+] wizard: ask for school specialty at start, from: fire, ice, xxx
? You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai: if we are going to player's last known loc (via targetcell),
abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends. this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
You miss the eyebat. You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
stairs
- [+] genericise: trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
pain!
The skeleton drops a blessed fuming aqua potion [tried].
The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
- [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm. like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
- [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
from that school
2011-04-23 14:27:42 +10:00
|
|
|
float comparelfs(lifeform_t *lf1, lifeform_t *lf2);
|
- [+] make "fear" be used to flee, not attack
- [+] CRASH in linkexit()
- [+] make most monsters either have sk_perception at least novice.
- [+] show success rate when studying scrolls
- [+] bug: unable to drink from fountains anymore
- [+] always use multidrop - this will free up 'D'
- [+] forest tree cluster maps are not working - only a single tree in
each cluster!
- [+] crash - ghost adding footprint to solid cell!
- [+] amberon's wrath for attacking peaceful should happen once per
ATTACK, not once per HIT
- [+] show cells outside LOS as blue or darkgrey
- [+] Don't place normal rooms next to the edge of the map either!!
- [+] getradiuscells(scatter) needs an option to include density
- [+] then make absolute zero have high density
* [+] summoning spells on pentagram will summon a demon instead
- [+] "confusion" / "baffle" mental spell - l2
- [+] add 'concussion' injury (head bash) - confusion effect.
- [+] iswoozy checks for this.
- [+] severed limbs -"frominjury" so taht you can heal them
- [+] linkexit() needs to be able to handle making THREE turns:
- [+] when looking for turnpos, remember each up/down celll
- [+] if we don't find one ("annot find a way to link up") , go
through each up/down cell and look left/right
- [+] fix is in place.
- [+] tested.
- [+] bug: doors being placed on top of rock walls!!! think this is
related to fix_deadends.
- [+] assert statement added.
* [+] bug: no up stairs generated on first dungeon map! was being
removed by clearcell() for overlapping rooms.
- [+] mass stun spell - l4. stuns all in los ?
* [+] make "stun" / massstun durations be 2-4 depending on power
- [+] "restricted" jobs/races?
- [+] don't put shopkeepers in pubs
- [+] make a per-map maxvisrange. the deeper you go, the lower this
gets (ie . it is darker, less ambientlight)
- [+] limit getvisrange(lf) by getmapmaxvisrange()
- [+] map->habitat->maxvisrange. set this during createhabitat()
- [+] reduce maxvisrange
- [+] reduce it to 6
- [+] why can i still see 1 cell?
- [+] why can i still always see my own cell?
- [+] when in pitch black for a certain amount of time, your vision
adjusts to maxrange=1
- [+] ie. getnightvisrange(lf) should be modified by
lf->eyeadjustment
- [+] reset if you can ever see a lit cell.
- [+] when this happens to the player:
- [+] msgs about this
- [+] also force light recalc
- [+] only recalc light when dirty
- [+] if we call "haslos()" for a lf and they have losdirty,
precalclos first.
- [+] vis range problems
- [+] sunglasses/footballhelm visrangereduce isn't working anymore
- [+] it's reducing maxvisrange(lf).
- [+] BUT - my maxvisrange is 5, which is still higher than the
ambient range.
- [+] need to apply reductions AFTER ambient light
- [+] NOW eyeadjustment isn't working. because cell lit is
l_temp, not l_notlit.
- [+] but if this is the case, why can't i see? anwer: because
my visrange has been reduced to 0 due to no ambient light!
- [+] so.... how do i make lightt sources override this?
- [+] maybe say: if a cell is lit, i can see it, even if it's
outside my ambient light.
- [+] falling over isn't reducing your visrange anymore
- [+] why doesn't eyeadjust make the screen update?
- [+] is regular "haslos" code ever used anymore????
- [+] now i can't see lit cells in the darkness again....fixed
- [+] after you calm something, give it xpval0
- [+] show message when calm animals fails
- [+] check all spell sc_resistmag oskillcheck difficulties
- [+] diff should be 20 + (spelllev*2) + power
- [+] l1 spell should be diff 20
- [+] l2 should be diff 24
- [+] ...
- [+] l7 should be diff 34
- [+] bleeding injuries should make armour "bloodstained" (5% chance
per turn)
- [+] msgs for "the sun is starting to set" and "the sun is starting to
rise"
- [+] make 6am, 18pm be constants
- [+] add crushed windpipe - lower Fitness, cannot sprint
* [+] CRASH when going down stairs! another overlapping room bug i
think.
- [+] cockatrices and chickens should cluck
- [+] canwill param: race:xxx;
- [+] define it
- [+] use this in "createmonster"
- [+] use this in "polymorph" when on self
- [+] then remove f_forcepoly
- [+] TEST
- [+] make playerstart vaults able to appear randomly (just don't place
the the "playerstart" object)
- [+] redo texttospellopts() to make it more friendly
- [+] give a list of what we want as args, rather than passing lots
of nulls
- [+] "pw:", &localpowervar etc
- [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during
losehp.
- [+] rename turneffectslf() to startlfturn()
- [+] show hunger level as a bar in @@
- [+] warn before becoming burdened.
- [+] warn when you ARE burdened. at the end of moveob()
- [+] l6 - absolute zero (turn everyone around you to ice, freeze all
obs, turn ground to ice)
- [+] some monsters leave non-meat food behind?
- [+] cactus -> cactus juice/fruit
- [+] dreamfungus -> sleeping powerder
- [+] silver weapons (5% chance on eligible weapons)
- [+] hurt vampires
- [+] vulnerable to mat??? - then use fromob in losehp()
- [+] f_matvuln mt_xxx multiplier
- [+] add some silver weapons
- [+] f_canbediffmat mt_silver 10%
- [+] if f_canbediffmat is true, sometimes change material to
this on creation
- [+] getobname - if material is differnet, show this
- [+] dagger
- [+] sword
- [+] arrow
- [+] bolt
- [+] dart
- [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
|
|
|
int confuse(lifeform_t *lf, int howlong);
|
- [+] non-player insects should never be able to break out of a web.
- [+] stench should still affect non humanoid/animals if they have
f_enhancesmell
- [+] bug: god of fire should only be pleased by kills if you used fire.
- [+] luck should affect whether you gain abils from eating corpses
- [+] lower weight of four leaf clover
- [+] bug: when dungeon had different wall type selected, still got
scattered rock walls
- [+] death spells shouldn't please hecta if they fail
- [+] bjorn should restore stamina when you pray
- [+] show your score when you didn't make the hiscore table.
- [+] eating corpses for resistances
- [+] f_eatconfer on race defs. fill in text for stacking, ie.
resist becomes immunity if you already ahve it.
- [+] must have f_mutable.
- [+] have to eat mutant corpse first to enable this.
- [+] you gain f_mutable.
- [+] "Your body feels ready for mutation."
- [+] thereafter......
- [+] for resistances, you first take maxhp/2 damage of the same
type (with chance to ko rather than kill)!
- [+] inherited by corpses
- [+] eat shadowcat to see through smoke? this replaces the
temporary smoke creation effects.
- [+] add to some lfs
- [+] dtresist (elemental based)
- [+] attrmod (wyrm or giant corpses)
- [+] when you create a new corpse object, take EATCONFERS from
race!
- [+] store owners shouldn't let you in if you have f_stench
- [+] if you pick up a non-magical object (ie. a potion of water), and
have detect magic, and it's not magic...you know it's uncursed,
+0, etc.
- [+] (assuming pot_water is known)
- [+] other effects of alignment
- [+] areenemies()
- [+] good:
- [+] other good creatures are still "peaceful" (remove
f_hostile on creation)
- [+] evil creatures are always hostile (even npcs) (add
this flag in addlf())
- [+] no xp for attacking peaceful
- [+] neutral: nothing special
- [+] no xp for attacking peaveful
- [+] evil:
- [+] still get xp for attacking peaceful
- [+] good creatures are always hostile (add this flag in
addlf())
- [+] show alignment in @. maybe after "Race: xxx"
- [+] add random alignments to some humanoid races
- [+] should be able to jsut use f_align al_none "gne"
- [+] lizardman
- [+] all the playable races
- [+] bonus when 'c'hating to your own alignment npcs
- [+] move alignment question to givejob(), and make it random for
mosnters
- [+] add alignment to gods
- [+] sandman - puts you to sleep. OR has lots of sleeping dust.
- [+] glyph: brown 'y'
- [+] miniature tornado of sand, humanoid visible inside
- [+] can cast sleep, range 1 (or 2 and need lof?)
- [+] corpse: smoke and sleeping dust?
- [+] no attack.
- [+] low hitdice (2)
- [+] fairly high ar (10)
- [+] madeof dirt
2012-02-10 17:44:12 +11:00
|
|
|
void copycorpseflags(flagpile_t *dst, flagpile_t *src);
|
- [+] add more vrare vaults to reduce likelihood of cockatrice lair!
- [+] bazaar
- [+] money vault hsould be vrare
- [+] so should traproom
- [+] rename giant rat to "dire rat"
- [+] don't show anything other than object description and throwing
for unknown tech
- [+] shouldn't be able to rest in a tent if it's not known!
- [+] eyebat corpse increase maxmp?
- [+] blessed missiles should nearly always hit undead
* [+] too easy to dodge thrown missiles?
- [+] spell and wand of culinary abundance
- [+] if a carnivorous animal kills you: "Eaten by a xxx"
* [+] bug: stairsperlev is only ever used in making DUNGEONS.
generecise this ??
- [+] safetorest - should ignore monsters feigning death
- [+] broken nose should reduce smell range
- [+] fresh and stale bread should be interchangable in cooking
- [+] make scroll of permenance act on you, not your objects
- [+] tweak object rarity yet agian...
- [+] bug: hole in roof above player start pos is immediately destroyed.
- [+] change pickaxe to be like resting
- [+] wait first, then if not interrupted, do the dig.
- [+] add cell->hp, celltype->hp. around 100.
- [+] f_digging, x, y, digperturn
- [+] interrupt() will stop this.
- [+] each turn, lower hp of cell by 1.
- [+] make wlaking bakwards take less time based on athletics skill!!!
- [+] at adept, takes no extra time?
- [+] better racial display
- [+] ? for extra info.
- [+] hitdice
- [+] general attribs (str etc)
- [+] don't show description until you press '?'
- [+] addbonustext(flagpile, f_BONDESC, "asdffas") - to avoid
index issues
- [+] remove VULNS from "effects" unless temporary
- [+] isresistantto() etc need to have "int onlytemp"
- [+] remove VULNS from manual BONTEXT flags
- [+] CRASH IN DTVULN CODE!!
- [+] limit '?r' display ??
- [+] what to show
- [+] show races you have encountered
- [+] show races you know about through Lore (adept level)
- [+] show playable races?????
- [+] structs
- [+] race->encountered
- [+] need to save this.
- [+] make EFFECTS only show TEMPORARY effects or ones which don't come
from race?
- [+] automate bondesc/pendesc based on flags!
- [+] vulnarabilities / resist / immun
- [+] vision range!! (visrangemod)
- [+] size? restricted armour.
- [+] stayinroom
- [+] f_humanoid (can use weapons)
- [+] tamable
- [+] seeindark
- [+] caneatraw
- [+] enhancesmell
- [+] caneatraw
- [+] vegeatrian
- [+] cernivore
- [+] fastmetab
- [+] startskill
- [+] tremorsense
- [+] silentmove
- [+] deaf
- [+] flying / levitating
- [+] awareness
- [+] nocturnal / diurnal
- [+] heavyblow
- [+] packattack
- [+] dodges
- [+] autocreateob
- [+] MPMOD
- [+] HPMOD
- [+] MEDITATES
- [+] PHOOTMEM
- [+] canwill "Spells: xx, x, x, x"
- [+] spells:
- [+] animate stone - "power" walls turn into stone golems
- [+] implement spell
- [+] golem
- [+] r_golemstone
- [+] knockback attack
- [+] high str
- [+] fists
- [+] corpsetype and iunsummonob = boulder
- [+] spell power modification - subtract spell level.
- [+] when i go down a drain, make sure the new map links to THE DRAIN
I WENT DOWN. not some otehr one.
- [+] some monsters shouldn't sleep! add new flag: f_nosleep
- [+] make spanner help disarm traps!
2011-12-04 09:33:37 +11:00
|
|
|
int continuedigging(lifeform_t *lf);
|
2012-03-06 21:47:26 +11:00
|
|
|
int continuerepairing(lifeform_t *lf, flag_t *repairflag);
|
* [+] always add webs if there are randomly generated spiders on a level
- [+] non-wood doors
- [+] iron
- [+] only interrupt rest for hunger if it's 'starving' or 'vhungry'
- [+] limit the amount of jumping we can do from athletics skill.
- [+] no message when i lockpick with a -6 combat knife.
- [+] make small corpses give much less nutrition!
- [+] high unarmed skill should give you unarmed attacks with a
1-handed weapon.
- [+] dual weild
- [+] if you have twoweapon skill, when you weild a weapon, say
"weild as secondary weapon? y/n"
- [+] in attackcell(), check if we have a weapon in our second hand
AND are skilled in twoweaponing
- [+] if so, get an attack with both, but with an accuracy penalty
(until adept level)
- [+] make sure shiedl code doesn't accept weapons!
- [+] knockback() can now knock back other lfs that you hit on the way
* [+] faster resting obs (only via R)
- [+] replace F_RESTING with F_ASLEEP. v0 = onpurpose. if v0, you wake
up when at full hp/mp/etc
- [+] implement F_TRAINING with traincounter
- [+] don't say 'rest until nearby allies ar eheald' if they aren't
damaged
- [+] make listen dififculty check dependant on distance to noise
- [+] doesn't make sense for druid to be a vegetarian. use "can only
eat meat when hungry"
- [+] @@ - combine acc+dmg. ie. "weapon: mace (63%,2-9dmg)
- [+] @@ - show both weapons if dualweilding.
- [+] porcupine shoudl have F_SHARP corpse. implement F_CORPSEFLAGS
- [+] create monster - "giant ant" making "giant antlion"!
- [+] giant porcupine
- [+] implement
- [+] should attack ants on sight - f_hatesrace
- [+] if race=hatesrace or baserace = hatesrace, will attack it.
- [+] gust of wind - blow obs away!
- [+] thorns (grow spikes, attackers take dmg)
- [+] f_retaliate, v0=ndice,v1=dsides, v2=damype, text=obname
- [+] major healing (new spell)
2011-05-05 13:12:52 +10:00
|
|
|
int countinnateattacks(lifeform_t *lf);
|
2012-03-30 14:34:24 +11:00
|
|
|
int countlegs(lifeform_t *lf);
|
2011-04-14 09:44:29 +10:00
|
|
|
int countnearbyallies(lifeform_t *lf);
|
* [+] always add webs if there are randomly generated spiders on a level
- [+] non-wood doors
- [+] iron
- [+] only interrupt rest for hunger if it's 'starving' or 'vhungry'
- [+] limit the amount of jumping we can do from athletics skill.
- [+] no message when i lockpick with a -6 combat knife.
- [+] make small corpses give much less nutrition!
- [+] high unarmed skill should give you unarmed attacks with a
1-handed weapon.
- [+] dual weild
- [+] if you have twoweapon skill, when you weild a weapon, say
"weild as secondary weapon? y/n"
- [+] in attackcell(), check if we have a weapon in our second hand
AND are skilled in twoweaponing
- [+] if so, get an attack with both, but with an accuracy penalty
(until adept level)
- [+] make sure shiedl code doesn't accept weapons!
- [+] knockback() can now knock back other lfs that you hit on the way
* [+] faster resting obs (only via R)
- [+] replace F_RESTING with F_ASLEEP. v0 = onpurpose. if v0, you wake
up when at full hp/mp/etc
- [+] implement F_TRAINING with traincounter
- [+] don't say 'rest until nearby allies ar eheald' if they aren't
damaged
- [+] make listen dififculty check dependant on distance to noise
- [+] doesn't make sense for druid to be a vegetarian. use "can only
eat meat when hungry"
- [+] @@ - combine acc+dmg. ie. "weapon: mace (63%,2-9dmg)
- [+] @@ - show both weapons if dualweilding.
- [+] porcupine shoudl have F_SHARP corpse. implement F_CORPSEFLAGS
- [+] create monster - "giant ant" making "giant antlion"!
- [+] giant porcupine
- [+] implement
- [+] should attack ants on sight - f_hatesrace
- [+] if race=hatesrace or baserace = hatesrace, will attack it.
- [+] gust of wind - blow obs away!
- [+] thorns (grow spikes, attackers take dmg)
- [+] f_retaliate, v0=ndice,v1=dsides, v2=damype, text=obname
- [+] major healing (new spell)
2011-05-05 13:12:52 +10:00
|
|
|
int countnearbyhurtallies(lifeform_t *lf);
|
2011-07-29 08:45:34 +10:00
|
|
|
int countplantsinsight(lifeform_t *lf);
|
2011-04-11 15:05:45 +10:00
|
|
|
void debug(lifeform_t *lf);
|
2011-05-20 06:30:58 +10:00
|
|
|
int demandbribe(lifeform_t *lf);
|
2010-12-02 12:17:54 +11:00
|
|
|
void die(lifeform_t *lf);
|
2011-06-22 16:01:48 +10:00
|
|
|
int digcell(lifeform_t *lf, cell_t *c, object_t *o);
|
|
|
|
int digdown(lifeform_t *lf, object_t *o);
|
|
|
|
int digup(lifeform_t *lf, object_t *o);
|
- [+] make "fear" be used to flee, not attack
- [+] CRASH in linkexit()
- [+] make most monsters either have sk_perception at least novice.
- [+] show success rate when studying scrolls
- [+] bug: unable to drink from fountains anymore
- [+] always use multidrop - this will free up 'D'
- [+] forest tree cluster maps are not working - only a single tree in
each cluster!
- [+] crash - ghost adding footprint to solid cell!
- [+] amberon's wrath for attacking peaceful should happen once per
ATTACK, not once per HIT
- [+] show cells outside LOS as blue or darkgrey
- [+] Don't place normal rooms next to the edge of the map either!!
- [+] getradiuscells(scatter) needs an option to include density
- [+] then make absolute zero have high density
* [+] summoning spells on pentagram will summon a demon instead
- [+] "confusion" / "baffle" mental spell - l2
- [+] add 'concussion' injury (head bash) - confusion effect.
- [+] iswoozy checks for this.
- [+] severed limbs -"frominjury" so taht you can heal them
- [+] linkexit() needs to be able to handle making THREE turns:
- [+] when looking for turnpos, remember each up/down celll
- [+] if we don't find one ("annot find a way to link up") , go
through each up/down cell and look left/right
- [+] fix is in place.
- [+] tested.
- [+] bug: doors being placed on top of rock walls!!! think this is
related to fix_deadends.
- [+] assert statement added.
* [+] bug: no up stairs generated on first dungeon map! was being
removed by clearcell() for overlapping rooms.
- [+] mass stun spell - l4. stuns all in los ?
* [+] make "stun" / massstun durations be 2-4 depending on power
- [+] "restricted" jobs/races?
- [+] don't put shopkeepers in pubs
- [+] make a per-map maxvisrange. the deeper you go, the lower this
gets (ie . it is darker, less ambientlight)
- [+] limit getvisrange(lf) by getmapmaxvisrange()
- [+] map->habitat->maxvisrange. set this during createhabitat()
- [+] reduce maxvisrange
- [+] reduce it to 6
- [+] why can i still see 1 cell?
- [+] why can i still always see my own cell?
- [+] when in pitch black for a certain amount of time, your vision
adjusts to maxrange=1
- [+] ie. getnightvisrange(lf) should be modified by
lf->eyeadjustment
- [+] reset if you can ever see a lit cell.
- [+] when this happens to the player:
- [+] msgs about this
- [+] also force light recalc
- [+] only recalc light when dirty
- [+] if we call "haslos()" for a lf and they have losdirty,
precalclos first.
- [+] vis range problems
- [+] sunglasses/footballhelm visrangereduce isn't working anymore
- [+] it's reducing maxvisrange(lf).
- [+] BUT - my maxvisrange is 5, which is still higher than the
ambient range.
- [+] need to apply reductions AFTER ambient light
- [+] NOW eyeadjustment isn't working. because cell lit is
l_temp, not l_notlit.
- [+] but if this is the case, why can't i see? anwer: because
my visrange has been reduced to 0 due to no ambient light!
- [+] so.... how do i make lightt sources override this?
- [+] maybe say: if a cell is lit, i can see it, even if it's
outside my ambient light.
- [+] falling over isn't reducing your visrange anymore
- [+] why doesn't eyeadjust make the screen update?
- [+] is regular "haslos" code ever used anymore????
- [+] now i can't see lit cells in the darkness again....fixed
- [+] after you calm something, give it xpval0
- [+] show message when calm animals fails
- [+] check all spell sc_resistmag oskillcheck difficulties
- [+] diff should be 20 + (spelllev*2) + power
- [+] l1 spell should be diff 20
- [+] l2 should be diff 24
- [+] ...
- [+] l7 should be diff 34
- [+] bleeding injuries should make armour "bloodstained" (5% chance
per turn)
- [+] msgs for "the sun is starting to set" and "the sun is starting to
rise"
- [+] make 6am, 18pm be constants
- [+] add crushed windpipe - lower Fitness, cannot sprint
* [+] CRASH when going down stairs! another overlapping room bug i
think.
- [+] cockatrices and chickens should cluck
- [+] canwill param: race:xxx;
- [+] define it
- [+] use this in "createmonster"
- [+] use this in "polymorph" when on self
- [+] then remove f_forcepoly
- [+] TEST
- [+] make playerstart vaults able to appear randomly (just don't place
the the "playerstart" object)
- [+] redo texttospellopts() to make it more friendly
- [+] give a list of what we want as args, rather than passing lots
of nulls
- [+] "pw:", &localpowervar etc
- [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during
losehp.
- [+] rename turneffectslf() to startlfturn()
- [+] show hunger level as a bar in @@
- [+] warn before becoming burdened.
- [+] warn when you ARE burdened. at the end of moveob()
- [+] l6 - absolute zero (turn everyone around you to ice, freeze all
obs, turn ground to ice)
- [+] some monsters leave non-meat food behind?
- [+] cactus -> cactus juice/fruit
- [+] dreamfungus -> sleeping powerder
- [+] silver weapons (5% chance on eligible weapons)
- [+] hurt vampires
- [+] vulnerable to mat??? - then use fromob in losehp()
- [+] f_matvuln mt_xxx multiplier
- [+] add some silver weapons
- [+] f_canbediffmat mt_silver 10%
- [+] if f_canbediffmat is true, sometimes change material to
this on creation
- [+] getobname - if material is differnet, show this
- [+] dagger
- [+] sword
- [+] arrow
- [+] bolt
- [+] dart
- [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
|
|
|
void do_eyesight_adjust(lifeform_t *lf);
|
* [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
their victim is ADJACENT.
- [-] XP CALC
- [+] funnelweb and redback are the same.
- [+] check this is right...... i want funnel web to be worse.
- [+] make hitconfer check in calcxpval take lifetime into account
- [+] ALSO assign an xp rating to each hitconferred flag.
- [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition:
"a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
nothing happens??
* [+] throw code
- [+] wizard: ask for school specialty at start, from: fire, ice, xxx
? You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai: if we are going to player's last known loc (via targetcell),
abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends. this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
You miss the eyebat. You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
stairs
- [+] genericise: trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
pain!
The skeleton drops a blessed fuming aqua potion [tried].
The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
- [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm. like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
- [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
from that school
2011-04-23 14:27:42 +10:00
|
|
|
void dumplev(void);
|
2011-02-01 06:16:13 +11:00
|
|
|
void dumplf(void);
|
2011-09-28 04:56:58 +10:00
|
|
|
void dumpmonsters(void);
|
2011-02-16 05:21:33 +11:00
|
|
|
void dumpxp(void);
|
2011-02-01 06:16:13 +11:00
|
|
|
int eat(lifeform_t *lf, object_t *o);
|
- [+] make "fear" be used to flee, not attack
- [+] CRASH in linkexit()
- [+] make most monsters either have sk_perception at least novice.
- [+] show success rate when studying scrolls
- [+] bug: unable to drink from fountains anymore
- [+] always use multidrop - this will free up 'D'
- [+] forest tree cluster maps are not working - only a single tree in
each cluster!
- [+] crash - ghost adding footprint to solid cell!
- [+] amberon's wrath for attacking peaceful should happen once per
ATTACK, not once per HIT
- [+] show cells outside LOS as blue or darkgrey
- [+] Don't place normal rooms next to the edge of the map either!!
- [+] getradiuscells(scatter) needs an option to include density
- [+] then make absolute zero have high density
* [+] summoning spells on pentagram will summon a demon instead
- [+] "confusion" / "baffle" mental spell - l2
- [+] add 'concussion' injury (head bash) - confusion effect.
- [+] iswoozy checks for this.
- [+] severed limbs -"frominjury" so taht you can heal them
- [+] linkexit() needs to be able to handle making THREE turns:
- [+] when looking for turnpos, remember each up/down celll
- [+] if we don't find one ("annot find a way to link up") , go
through each up/down cell and look left/right
- [+] fix is in place.
- [+] tested.
- [+] bug: doors being placed on top of rock walls!!! think this is
related to fix_deadends.
- [+] assert statement added.
* [+] bug: no up stairs generated on first dungeon map! was being
removed by clearcell() for overlapping rooms.
- [+] mass stun spell - l4. stuns all in los ?
* [+] make "stun" / massstun durations be 2-4 depending on power
- [+] "restricted" jobs/races?
- [+] don't put shopkeepers in pubs
- [+] make a per-map maxvisrange. the deeper you go, the lower this
gets (ie . it is darker, less ambientlight)
- [+] limit getvisrange(lf) by getmapmaxvisrange()
- [+] map->habitat->maxvisrange. set this during createhabitat()
- [+] reduce maxvisrange
- [+] reduce it to 6
- [+] why can i still see 1 cell?
- [+] why can i still always see my own cell?
- [+] when in pitch black for a certain amount of time, your vision
adjusts to maxrange=1
- [+] ie. getnightvisrange(lf) should be modified by
lf->eyeadjustment
- [+] reset if you can ever see a lit cell.
- [+] when this happens to the player:
- [+] msgs about this
- [+] also force light recalc
- [+] only recalc light when dirty
- [+] if we call "haslos()" for a lf and they have losdirty,
precalclos first.
- [+] vis range problems
- [+] sunglasses/footballhelm visrangereduce isn't working anymore
- [+] it's reducing maxvisrange(lf).
- [+] BUT - my maxvisrange is 5, which is still higher than the
ambient range.
- [+] need to apply reductions AFTER ambient light
- [+] NOW eyeadjustment isn't working. because cell lit is
l_temp, not l_notlit.
- [+] but if this is the case, why can't i see? anwer: because
my visrange has been reduced to 0 due to no ambient light!
- [+] so.... how do i make lightt sources override this?
- [+] maybe say: if a cell is lit, i can see it, even if it's
outside my ambient light.
- [+] falling over isn't reducing your visrange anymore
- [+] why doesn't eyeadjust make the screen update?
- [+] is regular "haslos" code ever used anymore????
- [+] now i can't see lit cells in the darkness again....fixed
- [+] after you calm something, give it xpval0
- [+] show message when calm animals fails
- [+] check all spell sc_resistmag oskillcheck difficulties
- [+] diff should be 20 + (spelllev*2) + power
- [+] l1 spell should be diff 20
- [+] l2 should be diff 24
- [+] ...
- [+] l7 should be diff 34
- [+] bleeding injuries should make armour "bloodstained" (5% chance
per turn)
- [+] msgs for "the sun is starting to set" and "the sun is starting to
rise"
- [+] make 6am, 18pm be constants
- [+] add crushed windpipe - lower Fitness, cannot sprint
* [+] CRASH when going down stairs! another overlapping room bug i
think.
- [+] cockatrices and chickens should cluck
- [+] canwill param: race:xxx;
- [+] define it
- [+] use this in "createmonster"
- [+] use this in "polymorph" when on self
- [+] then remove f_forcepoly
- [+] TEST
- [+] make playerstart vaults able to appear randomly (just don't place
the the "playerstart" object)
- [+] redo texttospellopts() to make it more friendly
- [+] give a list of what we want as args, rather than passing lots
of nulls
- [+] "pw:", &localpowervar etc
- [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during
losehp.
- [+] rename turneffectslf() to startlfturn()
- [+] show hunger level as a bar in @@
- [+] warn before becoming burdened.
- [+] warn when you ARE burdened. at the end of moveob()
- [+] l6 - absolute zero (turn everyone around you to ice, freeze all
obs, turn ground to ice)
- [+] some monsters leave non-meat food behind?
- [+] cactus -> cactus juice/fruit
- [+] dreamfungus -> sleeping powerder
- [+] silver weapons (5% chance on eligible weapons)
- [+] hurt vampires
- [+] vulnerable to mat??? - then use fromob in losehp()
- [+] f_matvuln mt_xxx multiplier
- [+] add some silver weapons
- [+] f_canbediffmat mt_silver 10%
- [+] if f_canbediffmat is true, sometimes change material to
this on creation
- [+] getobname - if material is differnet, show this
- [+] dagger
- [+] sword
- [+] arrow
- [+] bolt
- [+] dart
- [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
|
|
|
void endlfturn(lifeform_t *lf);
|
2011-06-09 18:58:35 +10:00
|
|
|
void enhancerandomskill(lifeform_t *lf);
|
2011-03-16 15:45:46 +11:00
|
|
|
void enhanceskills(lifeform_t *lf);
|
2012-02-07 13:50:17 +11:00
|
|
|
int exchangeweapon(lifeform_t *lf);
|
2011-07-21 11:43:45 +10:00
|
|
|
void extinguishlf(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
object_t *eyesshaded(lifeform_t *lf);
|
* [+] F_prone if you're knocked down
- [+] make sheilds very good against projectiles
- [+] make smoke just REDUCE vision, not block it.
- [+] noncorporeal should stop grabs!
* [+] don't say 'a javelin is damaged' when you throw it, just apply
the damge
- [+] increase damage bonus with every lore level. +10% each time
(ie. up to 50% at top)
* [+] give accuracy + critical bonus for lore levles too
- [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle]
- [+] Show Pain on botl.
* [+] more staves
- [+] low hitpoint warning for pets (or make them shriek, whine, etc)
- [+] CRITKNOCKDOWN
* [+] FINISH GRIZZLY
- [+] undead should be immune to poison!!
- [+] make code to auto add flags to undead.
- [+] if you ever move a door (ie. airblast), automatically open it.
- [+] young wolf shouldn't be able to open a door!
* [+] You throw a dart at the carpet snake. Your dart misses
you.--More--
- [+] no sprinting while burdneed
- [+] blood should be drawn BELOW stairs
- [+] weilded torch should do 1d4 fire damage (counts as a club)
* [+] The skeleton touches a leather belt then recoils in pain!The
skeleton drops a blessed leather belt.The skeleton puts on a
leather belt.
- [+] don't show "you can cast it at power level xxx" for abilities
* [+] more item randomising
- [+] make grey ooze splatter into acid
- [+] "the vine grabs you" if you walk onto an entangling vine.
- [+] don't start monsters within player's los
- [+] properly randomise sticks to snakes
- [+] stirge
- [+] leech (like stirge but can charge/leap, and slightly more hp /
damage)
- [+] treesnake
- [+] constrictor
- [+] cobra
- [+] stickes to snakes - make caster's weapon revert.
- [+] A something comes into view.
- [+] is invisibility code working properly when you see someone use
the invis spell?
- [+] don't include cosmetic objects in 'you see xxx'
* [+] monsters: don't use spells if you don't have lof.
- [+] pets not following around corners if you move diagonally. fixed a
little.
- [+] summon small animals (2-3 x SZ_SMALL)
* [+] jet of water
- [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc)
- [+] lightning storm (lightbning everyone within los, and more damage)
- [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
|
|
|
int fall(lifeform_t *lf, lifeform_t *fromlf, int announce);
|
- [+] when throwin gn aobject, warn if you have no LOF (just like
spells)
- [+] allow dodge/catch of thrown object when there is no thrower (ie.
arrow traps)
- [+] simplify monster spellcasting
- [+] don't use any mp
- [+] select power based on monster hit dice only
- [+] monsters should cast spells less often - use f_castchance,
default of 15% chance
- [+] TEST
- [+] you keep your own mpdice when polymorphing into a mosnter
- [+] fxied: throw a tranq dart, then:
- [+] The cockatrice loses consciousness. The cockatrice falls
asleep.
- [+] bug: can't operate a fridge on the ground cause it's too heavy to
lift
- [+] monsters generated on dark levels should always have seeindark 3-4
- [+] vending machines not working... fixed.
- [+] in getchoicestr:
- [+] if !showall, and if it shows a longdesc, then you hit
backspace, longdesc should be cleared.
- [+] show completion in a different colour
- [+] bug: sometimes we seem to have map->room[x], but no cells with
cell->room->id == thatid!!
- [+] stop vaults from overlapping.
- [+] taking too long to walk down levels - enforce max number of
monster free turns
- [+] inept weapon penalty should be slightly higher
- [+] bad feeling check is too easy.
- [+] skeletons should have f_noinjuries
- [+] shouldn't check for slipping on things while swimming
- [+] tweak how traps + perception skill impact search checks
- [+] bug: sometimes we have no player start position.
- [+] if the vault creation fails, restart map generation.
- [+] only give study scroll ability at high spellcasting skill
- [+] typo: ring (1 charges left)
* [+] god effects when you die:
- [+] pea soup should work in the cell in FRONT of you.
- [+] bug: ring of control seems to work when you _weild_ it!!
- [+] non-lethal weapons
- [+] sword of mercy (at <1hp, ko)
- [+] tranq dart
- [+] add sleeptypes
- [+] change all refernces to f_asleep->val[1] (now an enum)
- [+] change "stirs in its slumber" if unconscious
- [+] change all 'fallasleep' calls
- [+] attacking a ko'd enemy with merciful weapon should do nothing.
- [+] ai shouldn't target ko'd enemies
- [+] ai should stop targetting people once they're dead/ko'd
- [+] bashing damage should sometimes just knock unconscious instead of
killing?
- [+] if their hp would be >= -3, and onein(2)
- [+] different body part names? "metal frame" instead of "body"
- [+] implement F_BPNAME, v0=enum bodypart, text = name
- [+] getbodypartname() needs a lf argument.
- [+] once i add this, also make animals have "front legs" instead
of "arms", "paws" rather than "hands" etc.
- [+] fix calls to getbodypartname to pass in lf or null
- [+] cyborg mods:
- [+] can't wear most armour?
- [+] need f_noarmouron - we HAVE this bp, but can't put armour
on it.
- [+] large rust damage from water
- [+] if you have a bad feeling about an object, mark it as "[bad]"
- [+] f_knownbad
- [+] killing should anger the god of mercy
2011-09-22 12:00:16 +10:00
|
|
|
int fallasleep(lifeform_t *lf, enum SLEEPTYPE how, int howlong);
|
- [+] monster: triclops. perception. vuln to light.
- [+] flying creatures shoudl fall to the ground when unconscious
- [+] (this might kill them)
- [+] animate statue - bring statue to life
- [+] excavate - radial, obliterate walls + obs, doesn't affect lfs
- [+] test unicode wall glyph! 0x2588
- [+] use unicode for gas
- [+] change f_glyph so that v1 = symbol, instead of text = symbol
- [+] change code
- [+] change definitions (macro)
- [+] test
- [+] implement puff = UNI_SHADELIGHT
- [+] implement cloud = bolded
- [+] if good, extend to staem etc
- [+] blue background for lfs in the water
- [+] prone in water means effective lower height
- [+] glass/ice cells not shattering properly
- [+] make magic barriers be solid too
- [+] combine lockpick code in io.c and objects.c into the lockpick()
function.
- [+] first ask what to use (if required)
- [+] then ask what dir (if required)
- [+] then ask what to unlock (if reuiqred)
- [+] then do it
- [+] locked containers
- [+] picklocks prompts to try them.
- [+] in addob, use non-inheritable f_lockedchance for both doors
and chests?
- [+] v0 = chance v1 = mod per depth
- [+] doors:
- [+] base 20% chance locked
- [+] every 5 levels, add 10% chance
- [+] add this to chests / safeboxes
- [+] operate doesn't let you open them
- [+] bugs in linkexits and linkexit
- [+] linkexits: wasn't checking the correct exit cell!!!
- [+] lnkexit: wasn't blanking the startcell
GRATINGS:
- [+] flags:
- [+] addflag(lastot->flags, F_OPPOSITESTAIRS,
OT_HOLEINROOF, NA, NA, NULL);
- [+] climbable d_down NA
- [+] BUT you can't climb it if it's locked.
- [+] usestairs() - if you climb a grating and it has no maplink:
- [+] use createregionlink(map, cell, grating_object, NULL,
RG_SEWER, map->region)
- [+] make stench affect enhancedsmell creatures more.
- [+] excavate should only affect SOLID matter.
- [+] going down a drain:
- [+] "You walk down a staircase" should be "climb down a drain"
- [+] deep slime in sewers sohuldn't spread
- [+] deep slime should spread to a slime puddle if it does....
- [+] fix background glyph colour for slime
- [+] killed by drowning should really be "drowned in %s"
SEWER HABITAT
- [+] permenant stench
- [+] if you're in a sewer cell and are not nauseated, add it.
- [+] nauseated doesn't expire in sewers.
- [+] add RG_SEWER
- [+] new regiontype - RG_SEWER
- [+] map:
- [+] pick size 2 - 5
- [+] start at x=2,y=2
- [+] add square 3x3 rooms in gridlike layout (but need space for 5)
- [+] connect rooms to orthogonally adjacent ones with passages
- [+] use addexits(). no exits on outer walls.
- [+] fill all empty cells with low floor and water (but NOt the
one with the exit!)
- [+] any solid with orthogonally adjacent water changes to a
walkway
- [+] cope with different x/y room counts
- [+] cope with differnet vert/horz corridor sizes.
- [+] horz = 2
- [+] vert = 1
- [+] random room size
- [+] allow objectclasses to have f_rarity
- [+] modify getrandomobcalss
- [+] but DONT make objects inherit it!!!
- [+] this is used to override selection hased on habitat - modify
getrandomobcalss appropriately
- [+] random objects/treasure:
- [+] add these only in non-water cells??
- [+] move all obs from water clls to random land cells
- [+] frequent
- [+] vomit
- [+] soggy paper
- [+] rotted food (add f_tainted to it)
- [+] common
- [+] wep/arm
- [+] all wep/arm are shoddy in sewers
- [+] uncommon
- [+] rings (higher than normal chance - they were lost down
sinks)
- [+] occasional tech
- [+] bug: playerstart3 vault filled with walls when made randomly!
- [+] death speech text for intelligent monsters
- [+] 'aaargh!'
- [+] 'this isn't over!'
- [+] BUG: linkexits() - gettings exits in the wrong place. maybe not
taking rotation into account???
- [+] for example in playerstart_5 vault, found an 'exit' at the x:
- [+] this comes from the map flag f_roomexit, x, y
- [+] the flag may have bene added from autodoors()
- [+] have changed code so that f_roomexti uses text field to say
who added it
2011-11-29 13:25:04 +11:00
|
|
|
int fall_from_air(lifeform_t *lf);
|
2010-12-07 18:34:26 +11:00
|
|
|
void fightback(lifeform_t *lf, lifeform_t *attacker);
|
2012-03-30 14:34:24 +11:00
|
|
|
behaviour_t *findbehaviour(enum BEHAVIOUR bid);
|
2011-02-01 06:16:13 +11:00
|
|
|
job_t *findjob(enum JOB jobid);
|
2011-02-16 05:21:33 +11:00
|
|
|
job_t *findjobbyname(char *name);
|
2010-12-02 12:17:54 +11:00
|
|
|
lifeform_t *findlf(map_t *m, int lfid);
|
* [+] operate a candlabrum on the ground confers permenant light
producing!
* [+] bug - water appearing in walls.
- [+] make armour less common in forests
- [+] too many --more--s when enhancing stats. use drawmsg() rather
than more().
- [+] when i go up/down stairs, i keep ending up BESIDE them??
* [+] "you hear footstepszzzzzzzzzzzzzzzzzzzzzzz" (random junk)
- [+] when i start training with a spell active, it gets interrupted.
try again, interrupted again! works 3rd time.
- [+] replace lockpicking with "locksmithing"
- [+] replace 'body control' with 'slow metabolism'
- [+] pit traps broken - fixed now.
- [+] doheading issue in @M still.
* [+] how did zombie get 28 hp? bug in rollhitdice.
- [+] blind a skeleton with light. it gets blind, starts fleeing. but
because it can't SEE you, it stops fleeing instantly!
* [+] getflags(flagpile_t *fp, ... )
- [+] stun spell
- [+] only say "x2" etc if msgbuf we are going to draw still contains
the original text.
- [+] when you level up, your psionic skill determines your chance of
learning a new psionic spell?
- [+] when you teleport/use stairs, get all allies in SIGHT, not
adjacent.
* [+] more traps!
* [+] prisoners in cells
- [+] recruitment: instead of outright refusing to join, just up the
price.
* [+] make spellbook contents depend on map difficulty
- [+] cloak of shadows - give invisibility when in darkness
* [+] limited wish:
- [+] casting WISH reduces max hp by 50%!
- [+] monster ai code: if inventory full (or close), put non-eqiupped
stuff into containers
* [+] infinite loop in firedam to lf
- [+] pot of xp isn't working for monsters. they get no more hp!!
- [+] summonmosnter should jsut relocate existing uniques
- [+] 'planeshift' spell for gods - "unsummon"s them.
* [+] diety - greedgod
* [+] more village contents
2011-07-26 12:01:05 +10:00
|
|
|
lifeform_t *findlfunique(enum RACE rid);
|
2012-03-09 06:42:25 +11:00
|
|
|
cell_t *findnearbylifeob(cell_t *src, int maxdist, flag_t *lifeobflag, object_t **retlifeob);
|
2012-02-08 15:23:51 +11:00
|
|
|
poisontype_t *findpoisontype(enum POISONTYPE id);
|
2010-12-02 12:17:54 +11:00
|
|
|
race_t *findrace(enum RACE id);
|
2011-02-01 06:16:13 +11:00
|
|
|
race_t *findracebyname(char *name);
|
* [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
their victim is ADJACENT.
- [-] XP CALC
- [+] funnelweb and redback are the same.
- [+] check this is right...... i want funnel web to be worse.
- [+] make hitconfer check in calcxpval take lifetime into account
- [+] ALSO assign an xp rating to each hitconferred flag.
- [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition:
"a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
nothing happens??
* [+] throw code
- [+] wizard: ask for school specialty at start, from: fire, ice, xxx
? You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai: if we are going to player's last known loc (via targetcell),
abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends. this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
You miss the eyebat. You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
stairs
- [+] genericise: trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
pain!
The skeleton drops a blessed fuming aqua potion [tried].
The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
- [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm. like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
- [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
from that school
2011-04-23 14:27:42 +10:00
|
|
|
raceclass_t *findraceclass(enum RACECLASS id);
|
2012-02-08 10:28:48 +11:00
|
|
|
//lifeform_t *findshopkeeper(map_t *m, int roomid);
|
2011-03-10 16:47:18 +11:00
|
|
|
skill_t *findskill(enum SKILL id);
|
2011-03-24 16:09:31 +11:00
|
|
|
skill_t *findskillbyname(char *name);
|
|
|
|
enum SKILLLEVEL findskilllevbyname(char *name);
|
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
your previous space!
- [+] fix: aigetlastknownpos should return the cell that trails
point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
in that weapon or perception
- [+] cope with mosnter necromancers, etc
- [+] parserace should look for necromancer etc.
- [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
- [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
- [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
"Skymage", "Wizard" (wild)
- [+] instead of getjob() then j->name, use "getjobname(lf)"
- [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
knowledge
- [+] casting healing on myself pleased Glorana twice!
- [+] one from casting a life spell
- [+] one from casting healing.
- [+] move ones from spell.c to castspell()
- [+] new flag: f_pleasesgod v0=godid, v1=howmuch
- [+] add to other spell objects:
- [+] f_pleasesgod
- [+] GODFIRE - spelllevel * 2
- [+] GODDEATH = spelllevel
- [+] GODLIFE = spelllevel*2
- [+] GODNATURE: spelllevle*2
- [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
- [+] 1 per each positive levle of getpietylev()
- [+] glorana: life
- [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
- [+] addsubjob()
- [+] killsubjob()
- [+] show subjobs in job descriptions.
- [+] data.c: addsubjob(....
- [+] in job defs:
- [+] f_canhavesubjob sj_xxx
- [+] use this to determine whether to ask about them
- [+] redo getjobname
- [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
talk.
- [+] warrior subclasses
- [+] "Scourge"
- [+] gains magic resistance as you level up
- [+] == 5 + (level * 3) %
- [+] nospells
- [+] no mana
- [+] paladin
- [+] blessed gear
- [+] can will turn undead
- [+] healing magic
- [+] god = glorana.
- [+] cannot use spells if glorana is angry.
- [+] battlemage
- [+] starts with one spell school (fire/ice/air)
- [+] canlearn fire/ice/air spell schools
- [+] limited to adept in all schools
- [+] slightly less hp
- [+] no warrior abilities
2012-02-24 17:45:23 +11:00
|
|
|
subjob_t *findsubjob(enum SUBJOB sjid);
|
2011-02-01 06:16:13 +11:00
|
|
|
int flee(lifeform_t *lf);
|
2011-07-21 11:43:45 +10:00
|
|
|
void fleefrom(lifeform_t *lf, lifeform_t *enemy, int howlong, int onpurpose);
|
2011-09-12 09:52:14 +10:00
|
|
|
int fovlist_contains(int *endx, int *endy, int nendcells, int x, int y);
|
2011-02-16 05:21:33 +11:00
|
|
|
int freezelf(lifeform_t *freezee, lifeform_t *freezer, int howlong);
|
2010-12-07 18:34:26 +11:00
|
|
|
void gainhp(lifeform_t *lf, int amt);
|
2011-12-09 11:37:02 +11:00
|
|
|
void gainlevel(lifeform_t *lf, int autotrain);
|
2011-02-01 06:16:13 +11:00
|
|
|
void gainmp(lifeform_t *lf, int amt);
|
|
|
|
void gainxp(lifeform_t *lf, long amt);
|
- [+] don't place draininge grates on low floor!!
- [+] gate spell should always take you to a location wihtout water!!
- [+] enhance speak with dead spell (SPEAKDEAD)
- [+] may ask "how did you die" plus one of the below:
- [+] tell me about the area
- [+] mark stairs on the map
- [+] mark shops on the map
- [+] tell about very rare objects
- [+] tell me about nearby dangers
- [+] tell about odd monsters
- [+] tell about traps
- [+] test
- [+] let you ask peaceful lfs about the surroundings too
- [+] move code into io.c "askaboutarea(char *who)"
- [+] test
- [+] the first time you ask someone for info, randomly determine
whether they know about:
- [+] stairs (high chance)
- [+] shops (medium chance)
- [+] traps (low chance)
- [+] areacomms_danger should include out of depth monsters - need
isoutofdepth(lf)
- [+] room floors should take the entry type from the habitat, NOT just
use ct_room!!!!
- [+] sometimes generate fixed SEWER regionthings
- [+] done
- [+] BUG: canT enter goblin caves again!!!!
- [+] getting "ERROR - can't find opposite end of stairs/portal!"
- [+] FAILED to link stiars: 'tunnel leading up'
- [+] make maps direct you to regionthings.
- [+] region things need unique IDs !!!
- [+] change F_MAPTO
- [+] v0 = src region id
- [+] v1 = src depth
- [+] v2 = regionthing with whatkind = RT_REGIONLINK
- [+] when generating map objects, fill in a random branch entry
- [+] fix getobname code for unknown maps.
- [+] TEST
- [+] with "map to the goblin caves"
- [+] with "map"
- [+] with "map to"
- [+] use "the goblin caves are to the north", not "is to the north"
- [+] is
- [+] isn't
- [+] test reading a map when on the wrong branch
- [+] test reading a map when on the wrong level
- [+] test reading a map when on the right level
- [+] move staircase generation to END of map create
- [+] finalisemap()
- [+] countobswithflagval(obpile, flagid, val0...)
- [+] countmapobswithflagval(map, flagid, v0...)
- [+] jimbo's map should lead you to one of the major branches.
- [+] crit pos shouldn't be higher than you can reach!
- [+] same size or bigger = can reach anything
- [+] 1 size smaller = you can't reach the head
- [+] 2 sizes smaller = can't reach head or hands
- [+] 3 sizes smaller = can't reach head, hands or body
- [+] jimbo's room should contain all the staircases
- [+] make you have to pass a speech check before people will tell you
about the area
- [+] bug in recruitment skillchecks - using wrong attribute, and too
easy.
- [+] rename dwarf to delver
- [+] somtimes say "dons" instead of "puts on"
2012-01-05 02:54:28 +11:00
|
|
|
void genareaknowledge(flagpile_t *fp, int chancemod);
|
- [+] non-player insects should never be able to break out of a web.
- [+] stench should still affect non humanoid/animals if they have
f_enhancesmell
- [+] bug: god of fire should only be pleased by kills if you used fire.
- [+] luck should affect whether you gain abils from eating corpses
- [+] lower weight of four leaf clover
- [+] bug: when dungeon had different wall type selected, still got
scattered rock walls
- [+] death spells shouldn't please hecta if they fail
- [+] bjorn should restore stamina when you pray
- [+] show your score when you didn't make the hiscore table.
- [+] eating corpses for resistances
- [+] f_eatconfer on race defs. fill in text for stacking, ie.
resist becomes immunity if you already ahve it.
- [+] must have f_mutable.
- [+] have to eat mutant corpse first to enable this.
- [+] you gain f_mutable.
- [+] "Your body feels ready for mutation."
- [+] thereafter......
- [+] for resistances, you first take maxhp/2 damage of the same
type (with chance to ko rather than kill)!
- [+] inherited by corpses
- [+] eat shadowcat to see through smoke? this replaces the
temporary smoke creation effects.
- [+] add to some lfs
- [+] dtresist (elemental based)
- [+] attrmod (wyrm or giant corpses)
- [+] when you create a new corpse object, take EATCONFERS from
race!
- [+] store owners shouldn't let you in if you have f_stench
- [+] if you pick up a non-magical object (ie. a potion of water), and
have detect magic, and it's not magic...you know it's uncursed,
+0, etc.
- [+] (assuming pot_water is known)
- [+] other effects of alignment
- [+] areenemies()
- [+] good:
- [+] other good creatures are still "peaceful" (remove
f_hostile on creation)
- [+] evil creatures are always hostile (even npcs) (add
this flag in addlf())
- [+] no xp for attacking peaceful
- [+] neutral: nothing special
- [+] no xp for attacking peaveful
- [+] evil:
- [+] still get xp for attacking peaceful
- [+] good creatures are always hostile (add this flag in
addlf())
- [+] show alignment in @. maybe after "Race: xxx"
- [+] add random alignments to some humanoid races
- [+] should be able to jsut use f_align al_none "gne"
- [+] lizardman
- [+] all the playable races
- [+] bonus when 'c'hating to your own alignment npcs
- [+] move alignment question to givejob(), and make it random for
mosnters
- [+] add alignment to gods
- [+] sandman - puts you to sleep. OR has lots of sleeping dust.
- [+] glyph: brown 'y'
- [+] miniature tornado of sand, humanoid visible inside
- [+] can cast sleep, range 1 (or 2 and need lof?)
- [+] corpse: smoke and sleeping dust?
- [+] no attack.
- [+] low hitdice (2)
- [+] fairly high ar (10)
- [+] madeof dirt
2012-02-10 17:44:12 +11:00
|
|
|
void generatealignment(lifeform_t *lf);
|
2011-04-11 15:05:45 +10:00
|
|
|
void genxplist(void);
|
2011-09-12 09:52:14 +10:00
|
|
|
int get_adjacent_quadrants(int dir, enum QUADRANT *start, enum QUADRANT *end);
|
|
|
|
int get_circular_fov_endpoints(lifeform_t *lf, int maxvisrange, int *endx, int *endy, int *nendcells);
|
2011-02-16 05:21:33 +11:00
|
|
|
int getactspeed(lifeform_t *lf);
|
2011-08-31 06:10:43 +10:00
|
|
|
int getadjenemies(lifeform_t *lf, lifeform_t **adjlf, int *nadjlfs);
|
2011-09-15 11:40:26 +10:00
|
|
|
void getwhowillfollow(lifeform_t *lf, object_t *stairob, lifeform_t **adjally, int *seen, int *nadjallies);
|
* [+] why did i get a gift from yumi in the middle of a battle?
- [+] need alignment. f_alignment. default neutral.
- [+] slight change to armour damage calc
- [+] thrown poisoned weapons don't work!
- [+] holy aura spell. lv3 cleric.
* [+] are kobolds working properly?? seem buggy
* [+] calmed down a war hound with a mushroom.
- [+] use wisdom for checks for unwise things, not iq.
* [+] hecta should only care about attacking evil creatures if they
were NOT hostile.
- [+] optimise:
- [+] use getflags() more often.
- [+] lookforobs() - redo code for ai wanting things.
* [+] precalclos - 28%
* [+] hasbetterweapon()
- [+] haslos - 27.3%
- [+] when you move now, you don't have los to your previous cell on
the first drawscreen when your turn starts!!!!!
- [+] ai is coming too close before firing ranged weapons. allow them
to stay within 2 - maxrange if they have a weapon.
- [+] also let them fire form furhter away!
* [+] give healing potion to hurt (intelligent) lf to calm them down?
* [+] Amberon (m) purity, righteousness
* [+] Hecta - female, death, undead, evil, night
* [+] Felix - male, thieves, greed
* [+] bug - i found jimbo dead!
- [+] cave vault (different wall types, boulder at the entrance, lots of
food, bears)
2011-08-10 12:40:29 +10:00
|
|
|
enum ALIGNMENT getalignment(lifeform_t *lf);
|
- [+] non-player insects should never be able to break out of a web.
- [+] stench should still affect non humanoid/animals if they have
f_enhancesmell
- [+] bug: god of fire should only be pleased by kills if you used fire.
- [+] luck should affect whether you gain abils from eating corpses
- [+] lower weight of four leaf clover
- [+] bug: when dungeon had different wall type selected, still got
scattered rock walls
- [+] death spells shouldn't please hecta if they fail
- [+] bjorn should restore stamina when you pray
- [+] show your score when you didn't make the hiscore table.
- [+] eating corpses for resistances
- [+] f_eatconfer on race defs. fill in text for stacking, ie.
resist becomes immunity if you already ahve it.
- [+] must have f_mutable.
- [+] have to eat mutant corpse first to enable this.
- [+] you gain f_mutable.
- [+] "Your body feels ready for mutation."
- [+] thereafter......
- [+] for resistances, you first take maxhp/2 damage of the same
type (with chance to ko rather than kill)!
- [+] inherited by corpses
- [+] eat shadowcat to see through smoke? this replaces the
temporary smoke creation effects.
- [+] add to some lfs
- [+] dtresist (elemental based)
- [+] attrmod (wyrm or giant corpses)
- [+] when you create a new corpse object, take EATCONFERS from
race!
- [+] store owners shouldn't let you in if you have f_stench
- [+] if you pick up a non-magical object (ie. a potion of water), and
have detect magic, and it's not magic...you know it's uncursed,
+0, etc.
- [+] (assuming pot_water is known)
- [+] other effects of alignment
- [+] areenemies()
- [+] good:
- [+] other good creatures are still "peaceful" (remove
f_hostile on creation)
- [+] evil creatures are always hostile (even npcs) (add
this flag in addlf())
- [+] no xp for attacking peaceful
- [+] neutral: nothing special
- [+] no xp for attacking peaveful
- [+] evil:
- [+] still get xp for attacking peaceful
- [+] good creatures are always hostile (add this flag in
addlf())
- [+] show alignment in @. maybe after "Race: xxx"
- [+] add random alignments to some humanoid races
- [+] should be able to jsut use f_align al_none "gne"
- [+] lizardman
- [+] all the playable races
- [+] bonus when 'c'hating to your own alignment npcs
- [+] move alignment question to givejob(), and make it random for
mosnters
- [+] add alignment to gods
- [+] sandman - puts you to sleep. OR has lots of sleeping dust.
- [+] glyph: brown 'y'
- [+] miniature tornado of sand, humanoid visible inside
- [+] can cast sleep, range 1 (or 2 and need lof?)
- [+] corpse: smoke and sleeping dust?
- [+] no attack.
- [+] low hitdice (2)
- [+] fairly high ar (10)
- [+] madeof dirt
2012-02-10 17:44:12 +11:00
|
|
|
int getalignmod(lifeform_t *lf);
|
2011-03-24 16:09:31 +11:00
|
|
|
enum ALLEGIENCE getallegiance(lifeform_t *lf);
|
* [+] F_prone if you're knocked down
- [+] make sheilds very good against projectiles
- [+] make smoke just REDUCE vision, not block it.
- [+] noncorporeal should stop grabs!
* [+] don't say 'a javelin is damaged' when you throw it, just apply
the damge
- [+] increase damage bonus with every lore level. +10% each time
(ie. up to 50% at top)
* [+] give accuracy + critical bonus for lore levles too
- [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle]
- [+] Show Pain on botl.
* [+] more staves
- [+] low hitpoint warning for pets (or make them shriek, whine, etc)
- [+] CRITKNOCKDOWN
* [+] FINISH GRIZZLY
- [+] undead should be immune to poison!!
- [+] make code to auto add flags to undead.
- [+] if you ever move a door (ie. airblast), automatically open it.
- [+] young wolf shouldn't be able to open a door!
* [+] You throw a dart at the carpet snake. Your dart misses
you.--More--
- [+] no sprinting while burdneed
- [+] blood should be drawn BELOW stairs
- [+] weilded torch should do 1d4 fire damage (counts as a club)
* [+] The skeleton touches a leather belt then recoils in pain!The
skeleton drops a blessed leather belt.The skeleton puts on a
leather belt.
- [+] don't show "you can cast it at power level xxx" for abilities
* [+] more item randomising
- [+] make grey ooze splatter into acid
- [+] "the vine grabs you" if you walk onto an entangling vine.
- [+] don't start monsters within player's los
- [+] properly randomise sticks to snakes
- [+] stirge
- [+] leech (like stirge but can charge/leap, and slightly more hp /
damage)
- [+] treesnake
- [+] constrictor
- [+] cobra
- [+] stickes to snakes - make caster's weapon revert.
- [+] A something comes into view.
- [+] is invisibility code working properly when you see someone use
the invis spell?
- [+] don't include cosmetic objects in 'you see xxx'
* [+] monsters: don't use spells if you don't have lof.
- [+] pets not following around corners if you move diagonally. fixed a
little.
- [+] summon small animals (2-3 x SZ_SMALL)
* [+] jet of water
- [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc)
- [+] lightning storm (lightbning everyone within los, and more damage)
- [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
|
|
|
int getallouterarmour(lifeform_t *lf, object_t **ob, int *nobs);
|
2011-02-01 06:16:13 +11:00
|
|
|
object_t *getarmour(lifeform_t *lf, enum BODYPART bp);
|
2011-06-22 16:01:48 +10:00
|
|
|
int getarmournoise(lifeform_t *lf);
|
2012-01-06 11:20:57 +11:00
|
|
|
int getarmourrating(lifeform_t *lf, object_t **hitob, int *hitchance, enum BODYPART *hitbp, int *narms);
|
2011-02-01 06:16:13 +11:00
|
|
|
int getattackspeed(lifeform_t *lf);
|
- [+] job abilities can now generally happen as often as you like,
since they're ilmited by stamina.
- [+] rename dexterity to agility
- [+] The leprechaun steals an uncursed ring of miracles from you!
The leprechaun cowers away from you!
- [+] should FLEE , not cower!
- [+] should set blessknown after reading a scroll
- [+] cursed mending scroll not working on non-damaged objects
- [+] spanner helps metal repair
- [+] needle boosts sewing ability
- [+] when resting in a tent, monstesr have very low chance of noticing
you (5%)
- [+] move display of resistances to 'effects' section.
- [+] show what a mosnter wants in effects (if you have >= beginner
knowledge)
- [+] prevent running into monsters with shift+dir
- [+] infinite loop when creating a map, constant getrandomroomcell()
calls failing
- [+] monstesr will steal objects they WANT rather than always random
- [+] monster:
- [+] leprechaun
- [+] lucky
- [+] covets gold
- [+] shillelagh ? or just a club?
- [+] blink
- [+] steal
- [+] dodge
- [+] at the moment attack doesn't seem to be draining stamina...
- [+] it is, but i'm getting it right back due to attack speed.
- [+] make stamina take longer to regen. - 1 per 3 turns rather
than 1 per 2.
- [+] stamina loss must be MORE than basic regen rate (0.3)
- [+] make stamina loss for attack depend on atatck speed!
- [+] instead of "you feel sick", say "you have contracted
weakening poison" or "you have been infected with xxx"
- [+] store stamina as a float, but getstamina() should return an
int.
- [+] sprinting - use 1.5 stamina per cell instead of 1?
- [+] modify accuracy text
- [+] fork
- [+] showing f_entertext should set didmsg
- [+] instead of printing 100% accuracy, show "Acc:0" (ie 100),
"Acc:-1" (ie -10) etc
- [+] do this in @@
- [+] do this in describeob
- [+] nocturnal monsters
- [+] base monsters initially being asleep on time and whether
mosnter is nocturnal
- [+] also during aiturn(), if they have nothing to do and it's
their sleeping time, goto sleep
- [+] add flags
- [+] flies should always move towards corpses if possible
- [+] maybe F_WANTSOB corpse, covet?
- [+] but thye can't pick it up so they'll just hover nearby?
- [+] now they can be hostile too
- [+] when we're picking a random corpse, try again if we get something
with nocorpse like a ghost
- [+] getrandomcorpserace()
- [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should
be more like 5
- [+] severed finger shoudn't count as making you bleed when you attack
- [+] in askcoords, always show cell name
- [+] monsters with no melee attacks can always cast spells while
adjacent
- [+] resting issues
- [+] having a temporary injury means oyu need to rest, so don't
say "you don't need to rest"!
- [+] also don't stop resting until all temporary injuries are
healed
- [+] show comparative weights / armour ratings
- [+] make price for npcs to join be lower
- [+] assertion failure with who->timespent == 0 when a mosnter falls
through a hole
- [+] (after I follow by falling down the pit)
- [+] make taketime() not work when not on the player's map
- [+] bug - monsters never waking up
- [+] "tailwind" spell (fast movement speed but forwards only)
- [+] now that i have Hardness, _all_ reduced damage should go towards
armour.
- [+] earthquake - pits open up around you (but not under you)
- [+] force sphere - radial blast outwards, knocks back lfs + obs +
doors etc
2011-10-04 14:24:53 +11:00
|
|
|
float getattackstamloss(lifeform_t *lf);
|
|
|
|
float getattackstamloss(lifeform_t *lf);
|
2011-04-01 10:54:44 +11:00
|
|
|
int getattpoints(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int getattr(lifeform_t *lf, enum ATTRIB attr);
|
2011-09-01 03:33:35 +10:00
|
|
|
enum ATTRBRACKET getattrbracket(int attrval, enum ATTRIB whichatt, /*@null@*/char *buf);
|
2011-04-14 09:44:29 +10:00
|
|
|
int real_getattr(lifeform_t *lf, enum ATTRIB attr, int ignoreattrset);
|
* [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
their victim is ADJACENT.
- [-] XP CALC
- [+] funnelweb and redback are the same.
- [+] check this is right...... i want funnel web to be worse.
- [+] make hitconfer check in calcxpval take lifetime into account
- [+] ALSO assign an xp rating to each hitconferred flag.
- [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition:
"a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
nothing happens??
* [+] throw code
- [+] wizard: ask for school specialty at start, from: fire, ice, xxx
? You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai: if we are going to player's last known loc (via targetcell),
abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends. this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
You miss the eyebat. You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
stairs
- [+] genericise: trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
pain!
The skeleton drops a blessed fuming aqua potion [tried].
The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
- [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm. like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
- [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
from that school
2011-04-23 14:27:42 +10:00
|
|
|
int getavgdam(lifeform_t *lf, int forxp);
|
* [+] F_prone if you're knocked down
- [+] make sheilds very good against projectiles
- [+] make smoke just REDUCE vision, not block it.
- [+] noncorporeal should stop grabs!
* [+] don't say 'a javelin is damaged' when you throw it, just apply
the damge
- [+] increase damage bonus with every lore level. +10% each time
(ie. up to 50% at top)
* [+] give accuracy + critical bonus for lore levles too
- [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle]
- [+] Show Pain on botl.
* [+] more staves
- [+] low hitpoint warning for pets (or make them shriek, whine, etc)
- [+] CRITKNOCKDOWN
* [+] FINISH GRIZZLY
- [+] undead should be immune to poison!!
- [+] make code to auto add flags to undead.
- [+] if you ever move a door (ie. airblast), automatically open it.
- [+] young wolf shouldn't be able to open a door!
* [+] You throw a dart at the carpet snake. Your dart misses
you.--More--
- [+] no sprinting while burdneed
- [+] blood should be drawn BELOW stairs
- [+] weilded torch should do 1d4 fire damage (counts as a club)
* [+] The skeleton touches a leather belt then recoils in pain!The
skeleton drops a blessed leather belt.The skeleton puts on a
leather belt.
- [+] don't show "you can cast it at power level xxx" for abilities
* [+] more item randomising
- [+] make grey ooze splatter into acid
- [+] "the vine grabs you" if you walk onto an entangling vine.
- [+] don't start monsters within player's los
- [+] properly randomise sticks to snakes
- [+] stirge
- [+] leech (like stirge but can charge/leap, and slightly more hp /
damage)
- [+] treesnake
- [+] constrictor
- [+] cobra
- [+] stickes to snakes - make caster's weapon revert.
- [+] A something comes into view.
- [+] is invisibility code working properly when you see someone use
the invis spell?
- [+] don't include cosmetic objects in 'you see xxx'
* [+] monsters: don't use spells if you don't have lof.
- [+] pets not following around corners if you move diagonally. fixed a
little.
- [+] summon small animals (2-3 x SZ_SMALL)
* [+] jet of water
- [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc)
- [+] lightning storm (lightbning everyone within los, and more damage)
- [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
|
|
|
float getequippedweight(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int getevasion(lifeform_t *lf);
|
- [+] prevent 'A' (forceattack) behind you
- [+] replace:
- [+] Something critically savages your body.
Your uncursed suit of ring mail protects you.
Your suit of ring mail is damaged!
- [+] with:
- [+] Something critically savages your suit of ring mail.
- [+] Your suit of ring mail is damaged!
- [+] tremorsense shouldn't see flying creatures
- [+] rename blink to "bamf"
- [+] add F_containsmeat for non-vegetarian foods
- [+] use this in vegetarian checks instead of mt_Flesh
- [+] "what goes up" spell
- [+] "equal and opposite" spell
- [+] why didn't cyborg ninja start with weapon weilded?
- [+] getbestwepon - accuracy was counting for too much. have
changed calculation.
- [+] why is wizard's staff not enchanted???
- [+] elephant race - Pachyon or Mammoan
- [+] bonus
- [+] Leather skin
- [+] str++
- [+] photo mem
- [+] high listen skill
- [+] good smell
- [+] penalty
- [+] slow movement
- [+] no armour on ears
- [+] agi-
- [+] low eyesight
- [+] vuln to sonic
- [+] vegetarian
- [+] other
- [+] large
- [+] throw salt to blind targets
- [+] if you learn a new spell school skill while game is in progress,
gain a 1st level spell too.
- [+] for random roast meat, always use base race
- [+] ie. orc, not "elite orc"
- [+] (ie. human, not 'town guard')
- [+] remove "prepare food" skill.
- [+] use "cook" instead
- [+] startskill should be a modifier, not absolute.
- [+] ie. elf can have sk_ranged, so can hunter. these will now
stack.
- [+] chance for ai to use a firearm is lowered based on firearm
accuracy
- [+] bug: massively high amount of skillxp needed for a point
- [+] firearms should do more damage at pointblank range.
- [+] icicle bugs - getrandomadjcell for knockback failing
- [+] still a bug with firearm accuracy updating
- [+] 2 squares away, move towards enemy - it doesn't update!
- [+] display all valid hits in brown
- [+] wear melted wax in ears to reduce sonic damage
- [+] ranged skillls
- [+] adp
- [+] fast reloading
- [+] exp
- [+] fire through lifeforms! lof_wallstop instead of lof_need
- [+] mas
- [+] extra dam.
- [+] object HP issue:
- [+] head: b - an uncursed helmet [AR:3] [110%]
- [+] body: c - an uncursed suit of ring mail [AR:6] [173%]
- [+] hands: d - an uncursed battered pair of gauntlets
[AR:2] [86%]
- [+] are objects taking negative damage??
- [+] have put an assertion in to check
- [+] wait for it to happen again...
- [+] add hitchance to askcoords when throwing/shooting
- [+] code it
- [+] test for throw
- [+] add for telekeniis too
- [+] add for guns:
- [+] "targetted: something [x%]"
- [+] "bow->Target->xxx [x%]"
- [+] show gun target on botl
- [+] redo throw accuracy:
- [+] 100 to hit yourself
- [+] apply per-cell penalty based on:
- [+] throwing / ranged skill (more)
- [+] AGI (lesser)
- [+] wetsuit description not showing dtresist cold!!
- [+] hunter job
- [+] wetsuit (covers multiple body parts), prot from cold
- [+] announce bleeding damage from injuries
- [+] only mark _weapons_ as 'tried' when weilding them
- [+] change random items:
- [+] fix wantrr bug
- [+] test...
- [+] new function: enum RARITY pickrarity()
- [+] check for all wantrr = xxx and use pickrarity instead.
- [+] give classes a RR_RARITY
- [+] common
- [+] weapon / armour / money / missile
- [+] furniture
- [+] misc
- [+] rock
- [+] uncommon
- [+] potion / scroll / food
- [+] rare
- [+] trap
- [+] tech/tool
- [+] dfeature (pentagram, vending machine, etc)
- [+] vrare
- [+] wand
- [+] ring
- [+] book
* [+] rewrite wrappers
* [+] marge getrandomobofclass and getrandomob
- [+] bug: telling allies to attack something they can't see. need a
msg for this.
- [+] Norman->Attack->A young hawk [flying, facing NE]
- [+] Cancelled.
- [+] bug: allies not regaining hp when asleep! fixed.
- [+] you can now always 'see' your allies if you have LOH
- [+] ie. scannedcell
- [+] ie. cansee
- [+] player luck should cause better random item creation, and easier
monsters
- [+] pickrr() needs arg to say what it is for (vault , ob, lf)
- [+] meals have special effects. eg:
- [+] easy:
- [+] mushroom + water = mushroom soup = restore a little
stamina
- [+] tomato + water = tomato soup = restore a little stamina
- [+] apple + stone = fruit juice (don't kill the stone)
- [+] cheese + bread = cheese sandwich = restore all food and
stamina
- [+] rum + chocolate = rum ball = cure pain, restore some hp
- [+] med:
- [+] corpse + water + salt = jerky
- [+] mushroom + water + beef = beef strogonoff = filling,
temporary Fitness boost
- [+] garlic + bread + clover = garlic bread = produce stench
like a trogolodyte
- [+] bread + meat + tomato = hot dog = temporary strength
- [+] water + sugar + 2 berries = potion of red cordial = speed
boost
- [+] hard
- [+] peanut + stone + salt + bread = peanut butter sandwich =
super filling, restore all stamina, temp fitness boost
- [+] rum + chocolate + sugar + berry = fruit cake = restores
all stamina and hp and mp
- [+] implement recipe_t
- [+] int ningerdients
- [+] enum OBTYPE ingredient[MAXINGREDS]
- [+] int count[MAXINGREDS]
- [+] int cosumeingredient[MAXINGREDS] (boolean)
- [+] makedesc_ob should show the recipe for it, if cooking skill is
high enough
- [+] cooking skill determines how many ingredients you can use
- [+] ie. beginner = you can make recipes which need 2 ingredients
- [+] redo "cook" ability.
- [+] can combine ingredients using recipes to make meals
- [+] ingredients must be known!
- [+] chef job
- [+] attr
- [+] gtaverage agility
- [+] low fitnesss
- [+] objects:
- [+] meat cleaver (slashing, low acc, high crit)
- [+] apron (rubber, low protection)
- [+] chef hat (cloth, low protection)
- [+] butane torch (flambe on adjacent lifeform)
- [+] abilities
- [+] rage at lv3
* [+] skills
- [+] chef job
- [+] attr
- [+] gtaverage agility
- [+] low fitnesss
- [+] objects:
- [+] meat cleaver (slashing, low acc, high crit)
- [+] apron (rubber, low protection)
- [+] chef hat (cloth, low protection)
- [+] butane torch (flambe on adjacent lifeform)
- [+] abilities
- [+] rage at lv3
* [+] skills
2011-11-15 05:21:40 +11:00
|
|
|
object_t *getbestthrowmissile(lifeform_t *lf, lifeform_t *target);
|
2010-12-07 18:34:26 +11:00
|
|
|
object_t *getbestweapon(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
object_t *getbestfirearm(lifeform_t *lf);
|
|
|
|
int getbodyparthitchance(enum BODYPART bp);
|
- [+] when throwin gn aobject, warn if you have no LOF (just like
spells)
- [+] allow dodge/catch of thrown object when there is no thrower (ie.
arrow traps)
- [+] simplify monster spellcasting
- [+] don't use any mp
- [+] select power based on monster hit dice only
- [+] monsters should cast spells less often - use f_castchance,
default of 15% chance
- [+] TEST
- [+] you keep your own mpdice when polymorphing into a mosnter
- [+] fxied: throw a tranq dart, then:
- [+] The cockatrice loses consciousness. The cockatrice falls
asleep.
- [+] bug: can't operate a fridge on the ground cause it's too heavy to
lift
- [+] monsters generated on dark levels should always have seeindark 3-4
- [+] vending machines not working... fixed.
- [+] in getchoicestr:
- [+] if !showall, and if it shows a longdesc, then you hit
backspace, longdesc should be cleared.
- [+] show completion in a different colour
- [+] bug: sometimes we seem to have map->room[x], but no cells with
cell->room->id == thatid!!
- [+] stop vaults from overlapping.
- [+] taking too long to walk down levels - enforce max number of
monster free turns
- [+] inept weapon penalty should be slightly higher
- [+] bad feeling check is too easy.
- [+] skeletons should have f_noinjuries
- [+] shouldn't check for slipping on things while swimming
- [+] tweak how traps + perception skill impact search checks
- [+] bug: sometimes we have no player start position.
- [+] if the vault creation fails, restart map generation.
- [+] only give study scroll ability at high spellcasting skill
- [+] typo: ring (1 charges left)
* [+] god effects when you die:
- [+] pea soup should work in the cell in FRONT of you.
- [+] bug: ring of control seems to work when you _weild_ it!!
- [+] non-lethal weapons
- [+] sword of mercy (at <1hp, ko)
- [+] tranq dart
- [+] add sleeptypes
- [+] change all refernces to f_asleep->val[1] (now an enum)
- [+] change "stirs in its slumber" if unconscious
- [+] change all 'fallasleep' calls
- [+] attacking a ko'd enemy with merciful weapon should do nothing.
- [+] ai shouldn't target ko'd enemies
- [+] ai should stop targetting people once they're dead/ko'd
- [+] bashing damage should sometimes just knock unconscious instead of
killing?
- [+] if their hp would be >= -3, and onein(2)
- [+] different body part names? "metal frame" instead of "body"
- [+] implement F_BPNAME, v0=enum bodypart, text = name
- [+] getbodypartname() needs a lf argument.
- [+] once i add this, also make animals have "front legs" instead
of "arms", "paws" rather than "hands" etc.
- [+] fix calls to getbodypartname to pass in lf or null
- [+] cyborg mods:
- [+] can't wear most armour?
- [+] need f_noarmouron - we HAVE this bp, but can't put armour
on it.
- [+] large rust damage from water
- [+] if you have a bad feeling about an object, mark it as "[bad]"
- [+] f_knownbad
- [+] killing should anger the god of mercy
2011-09-22 12:00:16 +10:00
|
|
|
char *getbodypartname(lifeform_t *lf, enum BODYPART bp);
|
2010-12-07 18:34:26 +11:00
|
|
|
char *getbodypartequipname(enum BODYPART bp);
|
|
|
|
object_t *getequippedob(obpile_t *op, enum BODYPART bp);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
int getexposedlimbs(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
object_t *getfirearm(lifeform_t *lf);
|
- [+] prevent 'A' (forceattack) behind you
- [+] replace:
- [+] Something critically savages your body.
Your uncursed suit of ring mail protects you.
Your suit of ring mail is damaged!
- [+] with:
- [+] Something critically savages your suit of ring mail.
- [+] Your suit of ring mail is damaged!
- [+] tremorsense shouldn't see flying creatures
- [+] rename blink to "bamf"
- [+] add F_containsmeat for non-vegetarian foods
- [+] use this in vegetarian checks instead of mt_Flesh
- [+] "what goes up" spell
- [+] "equal and opposite" spell
- [+] why didn't cyborg ninja start with weapon weilded?
- [+] getbestwepon - accuracy was counting for too much. have
changed calculation.
- [+] why is wizard's staff not enchanted???
- [+] elephant race - Pachyon or Mammoan
- [+] bonus
- [+] Leather skin
- [+] str++
- [+] photo mem
- [+] high listen skill
- [+] good smell
- [+] penalty
- [+] slow movement
- [+] no armour on ears
- [+] agi-
- [+] low eyesight
- [+] vuln to sonic
- [+] vegetarian
- [+] other
- [+] large
- [+] throw salt to blind targets
- [+] if you learn a new spell school skill while game is in progress,
gain a 1st level spell too.
- [+] for random roast meat, always use base race
- [+] ie. orc, not "elite orc"
- [+] (ie. human, not 'town guard')
- [+] remove "prepare food" skill.
- [+] use "cook" instead
- [+] startskill should be a modifier, not absolute.
- [+] ie. elf can have sk_ranged, so can hunter. these will now
stack.
- [+] chance for ai to use a firearm is lowered based on firearm
accuracy
- [+] bug: massively high amount of skillxp needed for a point
- [+] firearms should do more damage at pointblank range.
- [+] icicle bugs - getrandomadjcell for knockback failing
- [+] still a bug with firearm accuracy updating
- [+] 2 squares away, move towards enemy - it doesn't update!
- [+] display all valid hits in brown
- [+] wear melted wax in ears to reduce sonic damage
- [+] ranged skillls
- [+] adp
- [+] fast reloading
- [+] exp
- [+] fire through lifeforms! lof_wallstop instead of lof_need
- [+] mas
- [+] extra dam.
- [+] object HP issue:
- [+] head: b - an uncursed helmet [AR:3] [110%]
- [+] body: c - an uncursed suit of ring mail [AR:6] [173%]
- [+] hands: d - an uncursed battered pair of gauntlets
[AR:2] [86%]
- [+] are objects taking negative damage??
- [+] have put an assertion in to check
- [+] wait for it to happen again...
- [+] add hitchance to askcoords when throwing/shooting
- [+] code it
- [+] test for throw
- [+] add for telekeniis too
- [+] add for guns:
- [+] "targetted: something [x%]"
- [+] "bow->Target->xxx [x%]"
- [+] show gun target on botl
- [+] redo throw accuracy:
- [+] 100 to hit yourself
- [+] apply per-cell penalty based on:
- [+] throwing / ranged skill (more)
- [+] AGI (lesser)
- [+] wetsuit description not showing dtresist cold!!
- [+] hunter job
- [+] wetsuit (covers multiple body parts), prot from cold
- [+] announce bleeding damage from injuries
- [+] only mark _weapons_ as 'tried' when weilding them
- [+] change random items:
- [+] fix wantrr bug
- [+] test...
- [+] new function: enum RARITY pickrarity()
- [+] check for all wantrr = xxx and use pickrarity instead.
- [+] give classes a RR_RARITY
- [+] common
- [+] weapon / armour / money / missile
- [+] furniture
- [+] misc
- [+] rock
- [+] uncommon
- [+] potion / scroll / food
- [+] rare
- [+] trap
- [+] tech/tool
- [+] dfeature (pentagram, vending machine, etc)
- [+] vrare
- [+] wand
- [+] ring
- [+] book
* [+] rewrite wrappers
* [+] marge getrandomobofclass and getrandomob
- [+] bug: telling allies to attack something they can't see. need a
msg for this.
- [+] Norman->Attack->A young hawk [flying, facing NE]
- [+] Cancelled.
- [+] bug: allies not regaining hp when asleep! fixed.
- [+] you can now always 'see' your allies if you have LOH
- [+] ie. scannedcell
- [+] ie. cansee
- [+] player luck should cause better random item creation, and easier
monsters
- [+] pickrr() needs arg to say what it is for (vault , ob, lf)
- [+] meals have special effects. eg:
- [+] easy:
- [+] mushroom + water = mushroom soup = restore a little
stamina
- [+] tomato + water = tomato soup = restore a little stamina
- [+] apple + stone = fruit juice (don't kill the stone)
- [+] cheese + bread = cheese sandwich = restore all food and
stamina
- [+] rum + chocolate = rum ball = cure pain, restore some hp
- [+] med:
- [+] corpse + water + salt = jerky
- [+] mushroom + water + beef = beef strogonoff = filling,
temporary Fitness boost
- [+] garlic + bread + clover = garlic bread = produce stench
like a trogolodyte
- [+] bread + meat + tomato = hot dog = temporary strength
- [+] water + sugar + 2 berries = potion of red cordial = speed
boost
- [+] hard
- [+] peanut + stone + salt + bread = peanut butter sandwich =
super filling, restore all stamina, temp fitness boost
- [+] rum + chocolate + sugar + berry = fruit cake = restores
all stamina and hp and mp
- [+] implement recipe_t
- [+] int ningerdients
- [+] enum OBTYPE ingredient[MAXINGREDS]
- [+] int count[MAXINGREDS]
- [+] int cosumeingredient[MAXINGREDS] (boolean)
- [+] makedesc_ob should show the recipe for it, if cooking skill is
high enough
- [+] cooking skill determines how many ingredients you can use
- [+] ie. beginner = you can make recipes which need 2 ingredients
- [+] redo "cook" ability.
- [+] can combine ingredients using recipes to make meals
- [+] ingredients must be known!
- [+] chef job
- [+] attr
- [+] gtaverage agility
- [+] low fitnesss
- [+] objects:
- [+] meat cleaver (slashing, low acc, high crit)
- [+] apron (rubber, low protection)
- [+] chef hat (cloth, low protection)
- [+] butane torch (flambe on adjacent lifeform)
- [+] abilities
- [+] rage at lv3
* [+] skills
- [+] chef job
- [+] attr
- [+] gtaverage agility
- [+] low fitnesss
- [+] objects:
- [+] meat cleaver (slashing, low acc, high crit)
- [+] apron (rubber, low protection)
- [+] chef hat (cloth, low protection)
- [+] butane torch (flambe on adjacent lifeform)
- [+] abilities
- [+] rage at lv3
* [+] skills
2011-11-15 05:21:40 +11:00
|
|
|
enum LOFTYPE getfirearmloftype(lifeform_t *lf);
|
Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange. for melee fighters (default), it's 0. for
spells/archers, it's higiher.
- [+] if we are further away than bestrange, move towards.
- [+] if we are closer than bestrange, move away
- [+] AND: move to wantrange before doing spells etc
- [+] if we have a ranged attack and wantrange is default, increase
it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
acceptable!
* [+] mflag_push for monsters
http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent
* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
- [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
15).
- [+] CRASH flagpile corrupt
- [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
- [+] ex: your tracks don't last as long
- [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
- [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
- [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
|
|
|
int getfootprinttime(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
lifeform_t *getguntarget(lifeform_t *lf);
|
|
|
|
int getguntargetid(lifeform_t *lf);
|
|
|
|
//int gethealtime(lifeform_t *lf);
|
|
|
|
int gethearingrange(lifeform_t *lf);
|
2012-03-06 21:47:26 +11:00
|
|
|
int gettrrace(race_t *r);
|
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to
cmoe from lore:arcana instead
- [+] rename magic skillls to sorcery:fire etc?
- [+] adjust spell power calculation to take lack of sorcery skill
int oaccount
- [+] allow '\' during getchoice() and getchoicestr()
- [+] so that we can see what we have identified
- [+] lower metabolism while lmeditating
- [+] poisonous mushrooms
- [+] toadstool - poisonous
- [+] shiitake - normal
- [+] recognise via cooking skill
- [+] if you add a blood ob, 1 randmo piece of armour in the pile
becomes bloodstained
- [+] accuracy boost when attacking something who has grabbedyou
- [+] lessen gravitiy should prvent falls
* [+] bug:
- [+] add job descriptions
- [+] handle ESC in askchar
- [+] You attack the helpless the xat! You flatten the xat!
- [+] "the helpless the xat"
- [+] shoiuldn't use "flatten" sinec we're not killing it
- [+] You attack the helpless xat! You kill the xat!
- [+] ...but it wasn't dead!
- [+] flame pillar scroll no longer works
- [+] not asking for target.
- [+] use castspell
- [+] cope with 'ESC' presses during normal travel
- [+] allow "maycancel" in askchar
- [+] make wizards NOT automatically know wild magic
- [+] is F_MPMOD working? check with elf wizard.......
- [+] now it is.
- [+] bug: create an elf, go over it, v - CRASH in makedesc_race.
- [+] removeob() should update burdened status
- [+] ie drinking a potion
- [+] wizards start with a staff and a pointy hat
- [+] don't "stir in your slumber" if meditating
- [+] elves should have higher mp
- [+] dwarves should have lower mp
- [+] when monsters fail to open a door, abandon their targetcell
- [+] might be able to jsut make failing a dooropen count as a move
failure.
- [+] HiGrv didn't stop me from moving? i passed the skill check, need
to have a msg telling me this.
- [+] race descriptions.
- [+] add the descriptions
- [+] ? in @@ shows info on them.
- [+] (add ?=help in the bottom when in @ mode regardless of
showall)
- [+] make clouds expand as they disappate
- [+] modify gethitstokill() to take "useevasion" and "usearmour" as a
parameter
- [+] at adept lore, you get threat comparison. at skilled level you
get exact hit turns.
- [+] make threat calculation use gethitstokill
- [+] TEST new threat calc
* [+] way too easy to notice traps on chests from 4-5 cells away, with
only novice perception
- [+] make cloudkill create puff of poison gas rather than a cloud
- [+] attacking should count as movement (ie dont regen stamina)
- [+] need more body bash criticals.
- [+] torso bruised (acc penalty)
- [+] torso bruised badly (higher acc penalty, low dam penalty)
- [+] ribs broken (huge acc penalty, med dam penalty)
- [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3
turns)
- [+] should stop flying when you lose ocnsciousness...
- [+] warn before moving with f_pain as well. maybe cahnge
confirm_injiury_action ???
- [+] extra warrior skill: aimed strike
- [+] -50%acc
- [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
|
|
|
int gethitstokill(lifeform_t *lf, lifeform_t *victim, int useevasion, int usearmour);
|
2011-03-04 12:22:36 +11:00
|
|
|
int gethppct(lifeform_t *lf);
|
- [+] make "fear" be used to flee, not attack
- [+] CRASH in linkexit()
- [+] make most monsters either have sk_perception at least novice.
- [+] show success rate when studying scrolls
- [+] bug: unable to drink from fountains anymore
- [+] always use multidrop - this will free up 'D'
- [+] forest tree cluster maps are not working - only a single tree in
each cluster!
- [+] crash - ghost adding footprint to solid cell!
- [+] amberon's wrath for attacking peaceful should happen once per
ATTACK, not once per HIT
- [+] show cells outside LOS as blue or darkgrey
- [+] Don't place normal rooms next to the edge of the map either!!
- [+] getradiuscells(scatter) needs an option to include density
- [+] then make absolute zero have high density
* [+] summoning spells on pentagram will summon a demon instead
- [+] "confusion" / "baffle" mental spell - l2
- [+] add 'concussion' injury (head bash) - confusion effect.
- [+] iswoozy checks for this.
- [+] severed limbs -"frominjury" so taht you can heal them
- [+] linkexit() needs to be able to handle making THREE turns:
- [+] when looking for turnpos, remember each up/down celll
- [+] if we don't find one ("annot find a way to link up") , go
through each up/down cell and look left/right
- [+] fix is in place.
- [+] tested.
- [+] bug: doors being placed on top of rock walls!!! think this is
related to fix_deadends.
- [+] assert statement added.
* [+] bug: no up stairs generated on first dungeon map! was being
removed by clearcell() for overlapping rooms.
- [+] mass stun spell - l4. stuns all in los ?
* [+] make "stun" / massstun durations be 2-4 depending on power
- [+] "restricted" jobs/races?
- [+] don't put shopkeepers in pubs
- [+] make a per-map maxvisrange. the deeper you go, the lower this
gets (ie . it is darker, less ambientlight)
- [+] limit getvisrange(lf) by getmapmaxvisrange()
- [+] map->habitat->maxvisrange. set this during createhabitat()
- [+] reduce maxvisrange
- [+] reduce it to 6
- [+] why can i still see 1 cell?
- [+] why can i still always see my own cell?
- [+] when in pitch black for a certain amount of time, your vision
adjusts to maxrange=1
- [+] ie. getnightvisrange(lf) should be modified by
lf->eyeadjustment
- [+] reset if you can ever see a lit cell.
- [+] when this happens to the player:
- [+] msgs about this
- [+] also force light recalc
- [+] only recalc light when dirty
- [+] if we call "haslos()" for a lf and they have losdirty,
precalclos first.
- [+] vis range problems
- [+] sunglasses/footballhelm visrangereduce isn't working anymore
- [+] it's reducing maxvisrange(lf).
- [+] BUT - my maxvisrange is 5, which is still higher than the
ambient range.
- [+] need to apply reductions AFTER ambient light
- [+] NOW eyeadjustment isn't working. because cell lit is
l_temp, not l_notlit.
- [+] but if this is the case, why can't i see? anwer: because
my visrange has been reduced to 0 due to no ambient light!
- [+] so.... how do i make lightt sources override this?
- [+] maybe say: if a cell is lit, i can see it, even if it's
outside my ambient light.
- [+] falling over isn't reducing your visrange anymore
- [+] why doesn't eyeadjust make the screen update?
- [+] is regular "haslos" code ever used anymore????
- [+] now i can't see lit cells in the darkness again....fixed
- [+] after you calm something, give it xpval0
- [+] show message when calm animals fails
- [+] check all spell sc_resistmag oskillcheck difficulties
- [+] diff should be 20 + (spelllev*2) + power
- [+] l1 spell should be diff 20
- [+] l2 should be diff 24
- [+] ...
- [+] l7 should be diff 34
- [+] bleeding injuries should make armour "bloodstained" (5% chance
per turn)
- [+] msgs for "the sun is starting to set" and "the sun is starting to
rise"
- [+] make 6am, 18pm be constants
- [+] add crushed windpipe - lower Fitness, cannot sprint
* [+] CRASH when going down stairs! another overlapping room bug i
think.
- [+] cockatrices and chickens should cluck
- [+] canwill param: race:xxx;
- [+] define it
- [+] use this in "createmonster"
- [+] use this in "polymorph" when on self
- [+] then remove f_forcepoly
- [+] TEST
- [+] make playerstart vaults able to appear randomly (just don't place
the the "playerstart" object)
- [+] redo texttospellopts() to make it more friendly
- [+] give a list of what we want as args, rather than passing lots
of nulls
- [+] "pw:", &localpowervar etc
- [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during
losehp.
- [+] rename turneffectslf() to startlfturn()
- [+] show hunger level as a bar in @@
- [+] warn before becoming burdened.
- [+] warn when you ARE burdened. at the end of moveob()
- [+] l6 - absolute zero (turn everyone around you to ice, freeze all
obs, turn ground to ice)
- [+] some monsters leave non-meat food behind?
- [+] cactus -> cactus juice/fruit
- [+] dreamfungus -> sleeping powerder
- [+] silver weapons (5% chance on eligible weapons)
- [+] hurt vampires
- [+] vulnerable to mat??? - then use fromob in losehp()
- [+] f_matvuln mt_xxx multiplier
- [+] add some silver weapons
- [+] f_canbediffmat mt_silver 10%
- [+] if f_canbediffmat is true, sometimes change material to
this on creation
- [+] getobname - if material is differnet, show this
- [+] dagger
- [+] sword
- [+] arrow
- [+] bolt
- [+] dart
- [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
|
|
|
enum COLOUR gethungercol(enum HUNGER hlev);
|
2011-02-01 06:16:13 +11:00
|
|
|
enum HUNGER gethungerlevel(int hunger);
|
2011-08-06 07:34:35 +10:00
|
|
|
char *gethungername(lifeform_t *lf, enum HUNGER hunger, char *buf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int gethungerval(lifeform_t *lf);
|
|
|
|
job_t *getjob(lifeform_t *lf);
|
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
your previous space!
- [+] fix: aigetlastknownpos should return the cell that trails
point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
in that weapon or perception
- [+] cope with mosnter necromancers, etc
- [+] parserace should look for necromancer etc.
- [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
- [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
- [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
"Skymage", "Wizard" (wild)
- [+] instead of getjob() then j->name, use "getjobname(lf)"
- [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
knowledge
- [+] casting healing on myself pleased Glorana twice!
- [+] one from casting a life spell
- [+] one from casting healing.
- [+] move ones from spell.c to castspell()
- [+] new flag: f_pleasesgod v0=godid, v1=howmuch
- [+] add to other spell objects:
- [+] f_pleasesgod
- [+] GODFIRE - spelllevel * 2
- [+] GODDEATH = spelllevel
- [+] GODLIFE = spelllevel*2
- [+] GODNATURE: spelllevle*2
- [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
- [+] 1 per each positive levle of getpietylev()
- [+] glorana: life
- [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
- [+] addsubjob()
- [+] killsubjob()
- [+] show subjobs in job descriptions.
- [+] data.c: addsubjob(....
- [+] in job defs:
- [+] f_canhavesubjob sj_xxx
- [+] use this to determine whether to ask about them
- [+] redo getjobname
- [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
talk.
- [+] warrior subclasses
- [+] "Scourge"
- [+] gains magic resistance as you level up
- [+] == 5 + (level * 3) %
- [+] nospells
- [+] no mana
- [+] paladin
- [+] blessed gear
- [+] can will turn undead
- [+] healing magic
- [+] god = glorana.
- [+] cannot use spells if glorana is angry.
- [+] battlemage
- [+] starts with one spell school (fire/ice/air)
- [+] canlearn fire/ice/air spell schools
- [+] limited to adept in all schools
- [+] slightly less hp
- [+] no warrior abilities
2012-02-24 17:45:23 +11:00
|
|
|
enum SUBJOB getsubjob(lifeform_t *lf);
|
|
|
|
char *getjobname(lifeform_t *lf);
|
* [+] F_prone if you're knocked down
- [+] make sheilds very good against projectiles
- [+] make smoke just REDUCE vision, not block it.
- [+] noncorporeal should stop grabs!
* [+] don't say 'a javelin is damaged' when you throw it, just apply
the damge
- [+] increase damage bonus with every lore level. +10% each time
(ie. up to 50% at top)
* [+] give accuracy + critical bonus for lore levles too
- [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle]
- [+] Show Pain on botl.
* [+] more staves
- [+] low hitpoint warning for pets (or make them shriek, whine, etc)
- [+] CRITKNOCKDOWN
* [+] FINISH GRIZZLY
- [+] undead should be immune to poison!!
- [+] make code to auto add flags to undead.
- [+] if you ever move a door (ie. airblast), automatically open it.
- [+] young wolf shouldn't be able to open a door!
* [+] You throw a dart at the carpet snake. Your dart misses
you.--More--
- [+] no sprinting while burdneed
- [+] blood should be drawn BELOW stairs
- [+] weilded torch should do 1d4 fire damage (counts as a club)
* [+] The skeleton touches a leather belt then recoils in pain!The
skeleton drops a blessed leather belt.The skeleton puts on a
leather belt.
- [+] don't show "you can cast it at power level xxx" for abilities
* [+] more item randomising
- [+] make grey ooze splatter into acid
- [+] "the vine grabs you" if you walk onto an entangling vine.
- [+] don't start monsters within player's los
- [+] properly randomise sticks to snakes
- [+] stirge
- [+] leech (like stirge but can charge/leap, and slightly more hp /
damage)
- [+] treesnake
- [+] constrictor
- [+] cobra
- [+] stickes to snakes - make caster's weapon revert.
- [+] A something comes into view.
- [+] is invisibility code working properly when you see someone use
the invis spell?
- [+] don't include cosmetic objects in 'you see xxx'
* [+] monsters: don't use spells if you don't have lof.
- [+] pets not following around corners if you move diagonally. fixed a
little.
- [+] summon small animals (2-3 x SZ_SMALL)
* [+] jet of water
- [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc)
- [+] lightning storm (lightbning everyone within los, and more damage)
- [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
|
|
|
int getlastdir(lifeform_t *lf);
|
2012-01-16 10:18:20 +11:00
|
|
|
int getleftrightwalls(lifeform_t *lf);
|
2011-04-08 13:18:54 +10:00
|
|
|
int getlfaccuracy(lifeform_t *lf, object_t *wep);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
char getlfcol(lifeform_t *lf, enum MSGCHARCOL cc);
|
2011-02-01 06:16:13 +11:00
|
|
|
enum LFCONDITION getlfcondition(lifeform_t *lf);
|
2012-01-18 07:46:23 +11:00
|
|
|
int getflightsizemod(lifeform_t *lf);
|
2011-08-31 06:10:43 +10:00
|
|
|
enum SKILLLEVEL getmaxskilllevel(lifeform_t *lf, enum SKILL skid);
|
2011-05-20 06:30:58 +10:00
|
|
|
int getminions(lifeform_t *lf, lifeform_t **minion, int *nminions);
|
2011-09-28 04:56:58 +10:00
|
|
|
int getmiscastchance(lifeform_t *lf);
|
2011-10-06 09:08:13 +11:00
|
|
|
int getmorale(lifeform_t *lf);
|
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
your previous space!
- [+] fix: aigetlastknownpos should return the cell that trails
point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
in that weapon or perception
- [+] cope with mosnter necromancers, etc
- [+] parserace should look for necromancer etc.
- [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
- [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
- [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
"Skymage", "Wizard" (wild)
- [+] instead of getjob() then j->name, use "getjobname(lf)"
- [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
knowledge
- [+] casting healing on myself pleased Glorana twice!
- [+] one from casting a life spell
- [+] one from casting healing.
- [+] move ones from spell.c to castspell()
- [+] new flag: f_pleasesgod v0=godid, v1=howmuch
- [+] add to other spell objects:
- [+] f_pleasesgod
- [+] GODFIRE - spelllevel * 2
- [+] GODDEATH = spelllevel
- [+] GODLIFE = spelllevel*2
- [+] GODNATURE: spelllevle*2
- [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
- [+] 1 per each positive levle of getpietylev()
- [+] glorana: life
- [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
- [+] addsubjob()
- [+] killsubjob()
- [+] show subjobs in job descriptions.
- [+] data.c: addsubjob(....
- [+] in job defs:
- [+] f_canhavesubjob sj_xxx
- [+] use this to determine whether to ask about them
- [+] redo getjobname
- [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
talk.
- [+] warrior subclasses
- [+] "Scourge"
- [+] gains magic resistance as you level up
- [+] == 5 + (level * 3) %
- [+] nospells
- [+] no mana
- [+] paladin
- [+] blessed gear
- [+] can will turn undead
- [+] healing magic
- [+] god = glorana.
- [+] cannot use spells if glorana is angry.
- [+] battlemage
- [+] starts with one spell school (fire/ice/air)
- [+] canlearn fire/ice/air spell schools
- [+] limited to adept in all schools
- [+] slightly less hp
- [+] no warrior abilities
2012-02-24 17:45:23 +11:00
|
|
|
int getnextshortcut(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int getnightvisrange(lifeform_t *lf);
|
2012-03-09 06:42:25 +11:00
|
|
|
int getnoisedetails(lifeform_t *lf, enum NOISETYPE nid, flag_t *noiseflag, char *heartext,char *seetext, int *volume);
|
2011-02-01 06:16:13 +11:00
|
|
|
char *getlfconditionname(enum LFCONDITION cond);
|
* [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
their victim is ADJACENT.
- [-] XP CALC
- [+] funnelweb and redback are the same.
- [+] check this is right...... i want funnel web to be worse.
- [+] make hitconfer check in calcxpval take lifetime into account
- [+] ALSO assign an xp rating to each hitconferred flag.
- [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition:
"a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
nothing happens??
* [+] throw code
- [+] wizard: ask for school specialty at start, from: fire, ice, xxx
? You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai: if we are going to player's last known loc (via targetcell),
abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends. this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
You miss the eyebat. You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
stairs
- [+] genericise: trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
pain!
The skeleton drops a blessed fuming aqua potion [tried].
The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
- [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm. like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
- [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
from that school
2011-04-23 14:27:42 +10:00
|
|
|
object_t *getouterequippedob(lifeform_t *lf, enum BODYPART bp);
|
2012-02-08 10:28:48 +11:00
|
|
|
//int getowing(lifeform_t *buyer, int shopid, int *retnitems);
|
2011-04-11 15:05:45 +10:00
|
|
|
enum LFCONDITION getseenlfconditioncutoff(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
char *getseenlfconditionname(lifeform_t *lf, lifeform_t *viewer);
|
- [+] add more vrare vaults to reduce likelihood of cockatrice lair!
- [+] bazaar
- [+] money vault hsould be vrare
- [+] so should traproom
- [+] rename giant rat to "dire rat"
- [+] don't show anything other than object description and throwing
for unknown tech
- [+] shouldn't be able to rest in a tent if it's not known!
- [+] eyebat corpse increase maxmp?
- [+] blessed missiles should nearly always hit undead
* [+] too easy to dodge thrown missiles?
- [+] spell and wand of culinary abundance
- [+] if a carnivorous animal kills you: "Eaten by a xxx"
* [+] bug: stairsperlev is only ever used in making DUNGEONS.
generecise this ??
- [+] safetorest - should ignore monsters feigning death
- [+] broken nose should reduce smell range
- [+] fresh and stale bread should be interchangable in cooking
- [+] make scroll of permenance act on you, not your objects
- [+] tweak object rarity yet agian...
- [+] bug: hole in roof above player start pos is immediately destroyed.
- [+] change pickaxe to be like resting
- [+] wait first, then if not interrupted, do the dig.
- [+] add cell->hp, celltype->hp. around 100.
- [+] f_digging, x, y, digperturn
- [+] interrupt() will stop this.
- [+] each turn, lower hp of cell by 1.
- [+] make wlaking bakwards take less time based on athletics skill!!!
- [+] at adept, takes no extra time?
- [+] better racial display
- [+] ? for extra info.
- [+] hitdice
- [+] general attribs (str etc)
- [+] don't show description until you press '?'
- [+] addbonustext(flagpile, f_BONDESC, "asdffas") - to avoid
index issues
- [+] remove VULNS from "effects" unless temporary
- [+] isresistantto() etc need to have "int onlytemp"
- [+] remove VULNS from manual BONTEXT flags
- [+] CRASH IN DTVULN CODE!!
- [+] limit '?r' display ??
- [+] what to show
- [+] show races you have encountered
- [+] show races you know about through Lore (adept level)
- [+] show playable races?????
- [+] structs
- [+] race->encountered
- [+] need to save this.
- [+] make EFFECTS only show TEMPORARY effects or ones which don't come
from race?
- [+] automate bondesc/pendesc based on flags!
- [+] vulnarabilities / resist / immun
- [+] vision range!! (visrangemod)
- [+] size? restricted armour.
- [+] stayinroom
- [+] f_humanoid (can use weapons)
- [+] tamable
- [+] seeindark
- [+] caneatraw
- [+] enhancesmell
- [+] caneatraw
- [+] vegeatrian
- [+] cernivore
- [+] fastmetab
- [+] startskill
- [+] tremorsense
- [+] silentmove
- [+] deaf
- [+] flying / levitating
- [+] awareness
- [+] nocturnal / diurnal
- [+] heavyblow
- [+] packattack
- [+] dodges
- [+] autocreateob
- [+] MPMOD
- [+] HPMOD
- [+] MEDITATES
- [+] PHOOTMEM
- [+] canwill "Spells: xx, x, x, x"
- [+] spells:
- [+] animate stone - "power" walls turn into stone golems
- [+] implement spell
- [+] golem
- [+] r_golemstone
- [+] knockback attack
- [+] high str
- [+] fists
- [+] corpsetype and iunsummonob = boulder
- [+] spell power modification - subtract spell level.
- [+] when i go down a drain, make sure the new map links to THE DRAIN
I WENT DOWN. not some otehr one.
- [+] some monsters shouldn't sleep! add new flag: f_nosleep
- [+] make spanner help disarm traps!
2011-12-04 09:33:37 +11:00
|
|
|
int getsmellrange(lifeform_t *lf);
|
2011-04-01 10:54:44 +11:00
|
|
|
glyph_t *getlfglyph(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
enum MATERIAL getlfmaterial(lifeform_t *lf);
|
* [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
their victim is ADJACENT.
- [-] XP CALC
- [+] funnelweb and redback are the same.
- [+] check this is right...... i want funnel web to be worse.
- [+] make hitconfer check in calcxpval take lifetime into account
- [+] ALSO assign an xp rating to each hitconferred flag.
- [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition:
"a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
nothing happens??
* [+] throw code
- [+] wizard: ask for school specialty at start, from: fire, ice, xxx
? You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai: if we are going to player's last known loc (via targetcell),
abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends. this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
You miss the eyebat. You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
stairs
- [+] genericise: trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
pain!
The skeleton drops a blessed fuming aqua potion [tried].
The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
- [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm. like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
- [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
from that school
2011-04-23 14:27:42 +10:00
|
|
|
enum SKILLLEVEL getlorelevel(lifeform_t *lf, enum RACECLASS rcid);
|
2011-07-01 13:34:41 +10:00
|
|
|
int getattacks(lifeform_t *lf, int *min, int *max);
|
2011-02-01 06:16:13 +11:00
|
|
|
float getmaxcarryweight(lifeform_t *lf);
|
|
|
|
float getmaxliftweight(lifeform_t *lf);
|
2011-03-22 18:06:28 +11:00
|
|
|
int getmaxmp(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
float getmaxpushweight(lifeform_t *lf);
|
2011-09-15 08:42:54 +10:00
|
|
|
float getmaxstamina(lifeform_t *lf);
|
2012-03-16 11:35:38 +11:00
|
|
|
object_t *getmeleeweapon(lifeform_t *lf);
|
2011-03-22 18:06:28 +11:00
|
|
|
int getmr(lifeform_t *lf);
|
- [+] make "fear" be used to flee, not attack
- [+] CRASH in linkexit()
- [+] make most monsters either have sk_perception at least novice.
- [+] show success rate when studying scrolls
- [+] bug: unable to drink from fountains anymore
- [+] always use multidrop - this will free up 'D'
- [+] forest tree cluster maps are not working - only a single tree in
each cluster!
- [+] crash - ghost adding footprint to solid cell!
- [+] amberon's wrath for attacking peaceful should happen once per
ATTACK, not once per HIT
- [+] show cells outside LOS as blue or darkgrey
- [+] Don't place normal rooms next to the edge of the map either!!
- [+] getradiuscells(scatter) needs an option to include density
- [+] then make absolute zero have high density
* [+] summoning spells on pentagram will summon a demon instead
- [+] "confusion" / "baffle" mental spell - l2
- [+] add 'concussion' injury (head bash) - confusion effect.
- [+] iswoozy checks for this.
- [+] severed limbs -"frominjury" so taht you can heal them
- [+] linkexit() needs to be able to handle making THREE turns:
- [+] when looking for turnpos, remember each up/down celll
- [+] if we don't find one ("annot find a way to link up") , go
through each up/down cell and look left/right
- [+] fix is in place.
- [+] tested.
- [+] bug: doors being placed on top of rock walls!!! think this is
related to fix_deadends.
- [+] assert statement added.
* [+] bug: no up stairs generated on first dungeon map! was being
removed by clearcell() for overlapping rooms.
- [+] mass stun spell - l4. stuns all in los ?
* [+] make "stun" / massstun durations be 2-4 depending on power
- [+] "restricted" jobs/races?
- [+] don't put shopkeepers in pubs
- [+] make a per-map maxvisrange. the deeper you go, the lower this
gets (ie . it is darker, less ambientlight)
- [+] limit getvisrange(lf) by getmapmaxvisrange()
- [+] map->habitat->maxvisrange. set this during createhabitat()
- [+] reduce maxvisrange
- [+] reduce it to 6
- [+] why can i still see 1 cell?
- [+] why can i still always see my own cell?
- [+] when in pitch black for a certain amount of time, your vision
adjusts to maxrange=1
- [+] ie. getnightvisrange(lf) should be modified by
lf->eyeadjustment
- [+] reset if you can ever see a lit cell.
- [+] when this happens to the player:
- [+] msgs about this
- [+] also force light recalc
- [+] only recalc light when dirty
- [+] if we call "haslos()" for a lf and they have losdirty,
precalclos first.
- [+] vis range problems
- [+] sunglasses/footballhelm visrangereduce isn't working anymore
- [+] it's reducing maxvisrange(lf).
- [+] BUT - my maxvisrange is 5, which is still higher than the
ambient range.
- [+] need to apply reductions AFTER ambient light
- [+] NOW eyeadjustment isn't working. because cell lit is
l_temp, not l_notlit.
- [+] but if this is the case, why can't i see? anwer: because
my visrange has been reduced to 0 due to no ambient light!
- [+] so.... how do i make lightt sources override this?
- [+] maybe say: if a cell is lit, i can see it, even if it's
outside my ambient light.
- [+] falling over isn't reducing your visrange anymore
- [+] why doesn't eyeadjust make the screen update?
- [+] is regular "haslos" code ever used anymore????
- [+] now i can't see lit cells in the darkness again....fixed
- [+] after you calm something, give it xpval0
- [+] show message when calm animals fails
- [+] check all spell sc_resistmag oskillcheck difficulties
- [+] diff should be 20 + (spelllev*2) + power
- [+] l1 spell should be diff 20
- [+] l2 should be diff 24
- [+] ...
- [+] l7 should be diff 34
- [+] bleeding injuries should make armour "bloodstained" (5% chance
per turn)
- [+] msgs for "the sun is starting to set" and "the sun is starting to
rise"
- [+] make 6am, 18pm be constants
- [+] add crushed windpipe - lower Fitness, cannot sprint
* [+] CRASH when going down stairs! another overlapping room bug i
think.
- [+] cockatrices and chickens should cluck
- [+] canwill param: race:xxx;
- [+] define it
- [+] use this in "createmonster"
- [+] use this in "polymorph" when on self
- [+] then remove f_forcepoly
- [+] TEST
- [+] make playerstart vaults able to appear randomly (just don't place
the the "playerstart" object)
- [+] redo texttospellopts() to make it more friendly
- [+] give a list of what we want as args, rather than passing lots
of nulls
- [+] "pw:", &localpowervar etc
- [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during
losehp.
- [+] rename turneffectslf() to startlfturn()
- [+] show hunger level as a bar in @@
- [+] warn before becoming burdened.
- [+] warn when you ARE burdened. at the end of moveob()
- [+] l6 - absolute zero (turn everyone around you to ice, freeze all
obs, turn ground to ice)
- [+] some monsters leave non-meat food behind?
- [+] cactus -> cactus juice/fruit
- [+] dreamfungus -> sleeping powerder
- [+] silver weapons (5% chance on eligible weapons)
- [+] hurt vampires
- [+] vulnerable to mat??? - then use fromob in losehp()
- [+] f_matvuln mt_xxx multiplier
- [+] add some silver weapons
- [+] f_canbediffmat mt_silver 10%
- [+] if f_canbediffmat is true, sometimes change material to
this on creation
- [+] getobname - if material is differnet, show this
- [+] dagger
- [+] sword
- [+] arrow
- [+] bolt
- [+] dart
- [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
|
|
|
int getvisrange(lifeform_t *lf, int useambient);
|
2011-08-18 06:57:43 +10:00
|
|
|
void idxtoxy(lifeform_t *lf, int idx, int *x, int *y);
|
2011-12-08 13:55:14 +11:00
|
|
|
//void setviscell(lifeform_t *lf, cell_t *cell, int how);
|
|
|
|
//int getviscell(lifeform_t *lf, cell_t *cell);
|
2011-08-18 06:57:43 +10:00
|
|
|
int xytoidx(lifeform_t *lf, int x, int y);
|
2010-12-02 12:17:54 +11:00
|
|
|
int getmovespeed(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
char *getmoveverb(lifeform_t *lf);
|
2011-02-16 05:21:33 +11:00
|
|
|
char *getmoveverbother(lifeform_t *lf);
|
2011-03-24 16:09:31 +11:00
|
|
|
lifeform_t *getnearbypeaceful(lifeform_t *lf);
|
2011-11-03 09:34:15 +11:00
|
|
|
char *getpitverb(lifeform_t *lf, int dir, int onpurpose, int climb);
|
2010-12-02 12:17:54 +11:00
|
|
|
char *getlfname(lifeform_t *lf, char *buf);
|
2012-03-29 07:17:47 +11:00
|
|
|
char *real_getlfname(lifeform_t *lf, char *buf, lifeform_t *usevis, int showall, int useorigrace);
|
2011-02-01 06:16:13 +11:00
|
|
|
char *getlfnamea(lifeform_t *lf, char *buf);
|
2012-03-29 07:17:47 +11:00
|
|
|
char *real_getlfnamea(lifeform_t *lf, char *buf, lifeform_t *usevis, int showall, int useorigrace);
|
2011-02-01 06:16:13 +11:00
|
|
|
enum LFSIZE getlfsize(lifeform_t *lf);
|
|
|
|
float getlfweight(lifeform_t *lf, int withobs);
|
* [+] always add webs if there are randomly generated spiders on a level
- [+] non-wood doors
- [+] iron
- [+] only interrupt rest for hunger if it's 'starving' or 'vhungry'
- [+] limit the amount of jumping we can do from athletics skill.
- [+] no message when i lockpick with a -6 combat knife.
- [+] make small corpses give much less nutrition!
- [+] high unarmed skill should give you unarmed attacks with a
1-handed weapon.
- [+] dual weild
- [+] if you have twoweapon skill, when you weild a weapon, say
"weild as secondary weapon? y/n"
- [+] in attackcell(), check if we have a weapon in our second hand
AND are skilled in twoweaponing
- [+] if so, get an attack with both, but with an accuracy penalty
(until adept level)
- [+] make sure shiedl code doesn't accept weapons!
- [+] knockback() can now knock back other lfs that you hit on the way
* [+] faster resting obs (only via R)
- [+] replace F_RESTING with F_ASLEEP. v0 = onpurpose. if v0, you wake
up when at full hp/mp/etc
- [+] implement F_TRAINING with traincounter
- [+] don't say 'rest until nearby allies ar eheald' if they aren't
damaged
- [+] make listen dififculty check dependant on distance to noise
- [+] doesn't make sense for druid to be a vegetarian. use "can only
eat meat when hungry"
- [+] @@ - combine acc+dmg. ie. "weapon: mace (63%,2-9dmg)
- [+] @@ - show both weapons if dualweilding.
- [+] porcupine shoudl have F_SHARP corpse. implement F_CORPSEFLAGS
- [+] create monster - "giant ant" making "giant antlion"!
- [+] giant porcupine
- [+] implement
- [+] should attack ants on sight - f_hatesrace
- [+] if race=hatesrace or baserace = hatesrace, will attack it.
- [+] gust of wind - blow obs away!
- [+] thorns (grow spikes, attackers take dmg)
- [+] f_retaliate, v0=ndice,v1=dsides, v2=damype, text=obname
- [+] major healing (new spell)
2011-05-05 13:12:52 +10:00
|
|
|
object_t *getsecmeleeweapon(lifeform_t *lf);
|
2011-12-13 03:40:17 +11:00
|
|
|
object_t *getshield(lifeform_t *lf, enum DAMTYPE dt);
|
|
|
|
int getallshields(lifeform_t *lf, enum DAMTYPE damtype, object_t **retob, int *checkmod, int *nretobs);
|
|
|
|
int getshieldblockmod(lifeform_t *lf, object_t *o);
|
2011-02-01 06:16:13 +11:00
|
|
|
int getspellspeed(lifeform_t *lf);
|
- [+] job abilities can now generally happen as often as you like,
since they're ilmited by stamina.
- [+] rename dexterity to agility
- [+] The leprechaun steals an uncursed ring of miracles from you!
The leprechaun cowers away from you!
- [+] should FLEE , not cower!
- [+] should set blessknown after reading a scroll
- [+] cursed mending scroll not working on non-damaged objects
- [+] spanner helps metal repair
- [+] needle boosts sewing ability
- [+] when resting in a tent, monstesr have very low chance of noticing
you (5%)
- [+] move display of resistances to 'effects' section.
- [+] show what a mosnter wants in effects (if you have >= beginner
knowledge)
- [+] prevent running into monsters with shift+dir
- [+] infinite loop when creating a map, constant getrandomroomcell()
calls failing
- [+] monstesr will steal objects they WANT rather than always random
- [+] monster:
- [+] leprechaun
- [+] lucky
- [+] covets gold
- [+] shillelagh ? or just a club?
- [+] blink
- [+] steal
- [+] dodge
- [+] at the moment attack doesn't seem to be draining stamina...
- [+] it is, but i'm getting it right back due to attack speed.
- [+] make stamina take longer to regen. - 1 per 3 turns rather
than 1 per 2.
- [+] stamina loss must be MORE than basic regen rate (0.3)
- [+] make stamina loss for attack depend on atatck speed!
- [+] instead of "you feel sick", say "you have contracted
weakening poison" or "you have been infected with xxx"
- [+] store stamina as a float, but getstamina() should return an
int.
- [+] sprinting - use 1.5 stamina per cell instead of 1?
- [+] modify accuracy text
- [+] fork
- [+] showing f_entertext should set didmsg
- [+] instead of printing 100% accuracy, show "Acc:0" (ie 100),
"Acc:-1" (ie -10) etc
- [+] do this in @@
- [+] do this in describeob
- [+] nocturnal monsters
- [+] base monsters initially being asleep on time and whether
mosnter is nocturnal
- [+] also during aiturn(), if they have nothing to do and it's
their sleeping time, goto sleep
- [+] add flags
- [+] flies should always move towards corpses if possible
- [+] maybe F_WANTSOB corpse, covet?
- [+] but thye can't pick it up so they'll just hover nearby?
- [+] now they can be hostile too
- [+] when we're picking a random corpse, try again if we get something
with nocorpse like a ghost
- [+] getrandomcorpserace()
- [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should
be more like 5
- [+] severed finger shoudn't count as making you bleed when you attack
- [+] in askcoords, always show cell name
- [+] monsters with no melee attacks can always cast spells while
adjacent
- [+] resting issues
- [+] having a temporary injury means oyu need to rest, so don't
say "you don't need to rest"!
- [+] also don't stop resting until all temporary injuries are
healed
- [+] show comparative weights / armour ratings
- [+] make price for npcs to join be lower
- [+] assertion failure with who->timespent == 0 when a mosnter falls
through a hole
- [+] (after I follow by falling down the pit)
- [+] make taketime() not work when not on the player's map
- [+] bug - monsters never waking up
- [+] "tailwind" spell (fast movement speed but forwards only)
- [+] now that i have Hardness, _all_ reduced damage should go towards
armour.
- [+] earthquake - pits open up around you (but not under you)
- [+] force sphere - radial blast outwards, knocks back lfs + obs +
doors etc
2011-10-04 14:24:53 +11:00
|
|
|
int getstamina(lifeform_t *lf);
|
2011-10-06 09:08:13 +11:00
|
|
|
float getstamregen(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
char *getplayername(char *buf);
|
|
|
|
char *getplayernamefull(char *buf);
|
2012-02-08 15:23:51 +11:00
|
|
|
/*
|
2011-04-14 09:44:29 +10:00
|
|
|
int getpoisondamchance(enum POISONTYPE ptype);
|
|
|
|
char *getpoisondamverb(enum POISONTYPE ptype);
|
* [+] need to set "needredraw" every time we exit:
- [+] make eating take longer - depends on lf size and food sizes
* [+] stop eating if something attacks you!
- [+] change spell code to cope with caster = NULL!!
- [+] why are rooms never more than 2 high
* [+] traps
* [+] eating bug again
* [+] disarm trap skill?
- [+] lots of needredraw bugs
- [+] bug with cursor jumping around lots
- [+] draw darkened visible cells in blue
* [+] shadow cloak
- [+] tree shouldn't prevent resting!
- [+] make plants not attack druids
* [+] cooking
- [+] stop eating if your eating object is no longer with you
* [+] FLAG CORRUPTION BUG
- [+] pet walking back and forth on rotted objects
- [+] purified food shouldn't decay anymore.
- [+] plants shouldn't sleep
- [+] RESTING on statbar not being cleared. the add of f_interrupted
was clearing statdirty before f_asleep got removed in killflag().
- [+] AI: don't eat if in battle
- [+] reduce projectile damage
- [+] show raceclass in statbars
- [+] smoke should make you cough.
- [+] when going up levle, only prompt for spells you can cast?? (don't
show "NOTCASTABLE")
- [+] Your young hawk dies. The stirge releases something!
- [+] sleeping thigns shoudn't follow you up/down stairs.
- [+] when throw'ng an object, don't let it stack (otherwise we might
destroy too much)
- [+] don't draw "c - " for nopickup objects.
- [+] saving throw for traps if you know about it.
- [+] druid - get xp for calming animals
- [+] rogue- get xp for picking locks, disarming traps.
- [+] metal should be immune to most damage types
* [+] make heavy blow need HEAVY weapon, not bashing.
- [+] can't rest/train while levitating!
- [+] gas traps only go off once.
- [+] bug: The goblin throws a boulder at you. A boulder misses you.
- [+] don't give short sword skill to wizard.
- [+] hearing range based on listen skill
* [+] coldness disease:
- [+] CRASH when swapping places
- [+] bug: i can teleport into an impassable object!
- [+] add: "really target (your ally)?"
- [+] give wizards school-based skill instead of manaspike + wildmagic
- [+] LevUp still not being cleared!!!
* [+] why is air wizard being prompted for call lightning at level 2???
* [+] summon weapon (summoning)
- [+] hold portal (mod)
- [+] reveal hidden
- [+] stench (death)
- [+] frostbite (minor but direct cold damage. 1dpower. maxpower 3)
- [+] grease (modific) creates oil in a circle
- [+] fear (death)
- [+] seeinvis (div)
- [+] locate obejct (div) tells you where a seen objcet is.
- [+] swap places (transl) "twiddle"
- [+] fire brand (fire, melee attaks deal fire damage)
- [+] iceedge
- [+] lore (div, temporary knowledge from a particular school?)
- [+] icicle (cold, deals cold dam and knocks enemies away)
* [+] chill (ice, 1d3 damage per exposed body part)
- [+] hail storm (ice, big damage in area)
- [+] wall of ice (creates icy wall, hp based on power)
2011-05-12 11:49:35 +10:00
|
|
|
char *getpoisondesc(enum POISONTYPE ptype);
|
2011-04-14 09:44:29 +10:00
|
|
|
char *getpoisonname(enum POISONTYPE ptype);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
enum POISONSEVERITY getpoisonseverity(enum POISONTYPE ptype);
|
2012-02-08 15:23:51 +11:00
|
|
|
*/
|
* [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
their victim is ADJACENT.
- [-] XP CALC
- [+] funnelweb and redback are the same.
- [+] check this is right...... i want funnel web to be worse.
- [+] make hitconfer check in calcxpval take lifetime into account
- [+] ALSO assign an xp rating to each hitconferred flag.
- [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition:
"a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
nothing happens??
* [+] throw code
- [+] wizard: ask for school specialty at start, from: fire, ice, xxx
? You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai: if we are going to player's last known loc (via targetcell),
abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends. this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
You miss the eyebat. You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
stairs
- [+] genericise: trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
pain!
The skeleton drops a blessed fuming aqua potion [tried].
The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
- [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm. like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
- [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
from that school
2011-04-23 14:27:42 +10:00
|
|
|
int getraceclass(lifeform_t *lf);
|
- [+] don't place draininge grates on low floor!!
- [+] gate spell should always take you to a location wihtout water!!
- [+] enhance speak with dead spell (SPEAKDEAD)
- [+] may ask "how did you die" plus one of the below:
- [+] tell me about the area
- [+] mark stairs on the map
- [+] mark shops on the map
- [+] tell about very rare objects
- [+] tell me about nearby dangers
- [+] tell about odd monsters
- [+] tell about traps
- [+] test
- [+] let you ask peaceful lfs about the surroundings too
- [+] move code into io.c "askaboutarea(char *who)"
- [+] test
- [+] the first time you ask someone for info, randomly determine
whether they know about:
- [+] stairs (high chance)
- [+] shops (medium chance)
- [+] traps (low chance)
- [+] areacomms_danger should include out of depth monsters - need
isoutofdepth(lf)
- [+] room floors should take the entry type from the habitat, NOT just
use ct_room!!!!
- [+] sometimes generate fixed SEWER regionthings
- [+] done
- [+] BUG: canT enter goblin caves again!!!!
- [+] getting "ERROR - can't find opposite end of stairs/portal!"
- [+] FAILED to link stiars: 'tunnel leading up'
- [+] make maps direct you to regionthings.
- [+] region things need unique IDs !!!
- [+] change F_MAPTO
- [+] v0 = src region id
- [+] v1 = src depth
- [+] v2 = regionthing with whatkind = RT_REGIONLINK
- [+] when generating map objects, fill in a random branch entry
- [+] fix getobname code for unknown maps.
- [+] TEST
- [+] with "map to the goblin caves"
- [+] with "map"
- [+] with "map to"
- [+] use "the goblin caves are to the north", not "is to the north"
- [+] is
- [+] isn't
- [+] test reading a map when on the wrong branch
- [+] test reading a map when on the wrong level
- [+] test reading a map when on the right level
- [+] move staircase generation to END of map create
- [+] finalisemap()
- [+] countobswithflagval(obpile, flagid, val0...)
- [+] countmapobswithflagval(map, flagid, v0...)
- [+] jimbo's map should lead you to one of the major branches.
- [+] crit pos shouldn't be higher than you can reach!
- [+] same size or bigger = can reach anything
- [+] 1 size smaller = you can't reach the head
- [+] 2 sizes smaller = can't reach head or hands
- [+] 3 sizes smaller = can't reach head, hands or body
- [+] jimbo's room should contain all the staircases
- [+] make you have to pass a speech check before people will tell you
about the area
- [+] bug in recruitment skillchecks - using wrong attribute, and too
easy.
- [+] rename dwarf to delver
- [+] somtimes say "dons" instead of "puts on"
2012-01-05 02:54:28 +11:00
|
|
|
int getracerarity(map_t *map, enum RACE rid, enum RARITY *rr);
|
2012-01-06 11:20:57 +11:00
|
|
|
object_t *getrandomarmour(lifeform_t *lf, lifeform_t *attacker);
|
2012-03-30 14:34:24 +11:00
|
|
|
enum BEHAVIOUR getrandombehaviour(void);
|
- [+] don't place draininge grates on low floor!!
- [+] gate spell should always take you to a location wihtout water!!
- [+] enhance speak with dead spell (SPEAKDEAD)
- [+] may ask "how did you die" plus one of the below:
- [+] tell me about the area
- [+] mark stairs on the map
- [+] mark shops on the map
- [+] tell about very rare objects
- [+] tell me about nearby dangers
- [+] tell about odd monsters
- [+] tell about traps
- [+] test
- [+] let you ask peaceful lfs about the surroundings too
- [+] move code into io.c "askaboutarea(char *who)"
- [+] test
- [+] the first time you ask someone for info, randomly determine
whether they know about:
- [+] stairs (high chance)
- [+] shops (medium chance)
- [+] traps (low chance)
- [+] areacomms_danger should include out of depth monsters - need
isoutofdepth(lf)
- [+] room floors should take the entry type from the habitat, NOT just
use ct_room!!!!
- [+] sometimes generate fixed SEWER regionthings
- [+] done
- [+] BUG: canT enter goblin caves again!!!!
- [+] getting "ERROR - can't find opposite end of stairs/portal!"
- [+] FAILED to link stiars: 'tunnel leading up'
- [+] make maps direct you to regionthings.
- [+] region things need unique IDs !!!
- [+] change F_MAPTO
- [+] v0 = src region id
- [+] v1 = src depth
- [+] v2 = regionthing with whatkind = RT_REGIONLINK
- [+] when generating map objects, fill in a random branch entry
- [+] fix getobname code for unknown maps.
- [+] TEST
- [+] with "map to the goblin caves"
- [+] with "map"
- [+] with "map to"
- [+] use "the goblin caves are to the north", not "is to the north"
- [+] is
- [+] isn't
- [+] test reading a map when on the wrong branch
- [+] test reading a map when on the wrong level
- [+] test reading a map when on the right level
- [+] move staircase generation to END of map create
- [+] finalisemap()
- [+] countobswithflagval(obpile, flagid, val0...)
- [+] countmapobswithflagval(map, flagid, v0...)
- [+] jimbo's map should lead you to one of the major branches.
- [+] crit pos shouldn't be higher than you can reach!
- [+] same size or bigger = can reach anything
- [+] 1 size smaller = you can't reach the head
- [+] 2 sizes smaller = can't reach head or hands
- [+] 3 sizes smaller = can't reach head, hands or body
- [+] jimbo's room should contain all the staircases
- [+] make you have to pass a speech check before people will tell you
about the area
- [+] bug in recruitment skillchecks - using wrong attribute, and too
easy.
- [+] rename dwarf to delver
- [+] somtimes say "dons" instead of "puts on"
2012-01-05 02:54:28 +11:00
|
|
|
enum BODYPART getrandomcorebp(lifeform_t *lf, lifeform_t *attacker);
|
- [+] job abilities can now generally happen as often as you like,
since they're ilmited by stamina.
- [+] rename dexterity to agility
- [+] The leprechaun steals an uncursed ring of miracles from you!
The leprechaun cowers away from you!
- [+] should FLEE , not cower!
- [+] should set blessknown after reading a scroll
- [+] cursed mending scroll not working on non-damaged objects
- [+] spanner helps metal repair
- [+] needle boosts sewing ability
- [+] when resting in a tent, monstesr have very low chance of noticing
you (5%)
- [+] move display of resistances to 'effects' section.
- [+] show what a mosnter wants in effects (if you have >= beginner
knowledge)
- [+] prevent running into monsters with shift+dir
- [+] infinite loop when creating a map, constant getrandomroomcell()
calls failing
- [+] monstesr will steal objects they WANT rather than always random
- [+] monster:
- [+] leprechaun
- [+] lucky
- [+] covets gold
- [+] shillelagh ? or just a club?
- [+] blink
- [+] steal
- [+] dodge
- [+] at the moment attack doesn't seem to be draining stamina...
- [+] it is, but i'm getting it right back due to attack speed.
- [+] make stamina take longer to regen. - 1 per 3 turns rather
than 1 per 2.
- [+] stamina loss must be MORE than basic regen rate (0.3)
- [+] make stamina loss for attack depend on atatck speed!
- [+] instead of "you feel sick", say "you have contracted
weakening poison" or "you have been infected with xxx"
- [+] store stamina as a float, but getstamina() should return an
int.
- [+] sprinting - use 1.5 stamina per cell instead of 1?
- [+] modify accuracy text
- [+] fork
- [+] showing f_entertext should set didmsg
- [+] instead of printing 100% accuracy, show "Acc:0" (ie 100),
"Acc:-1" (ie -10) etc
- [+] do this in @@
- [+] do this in describeob
- [+] nocturnal monsters
- [+] base monsters initially being asleep on time and whether
mosnter is nocturnal
- [+] also during aiturn(), if they have nothing to do and it's
their sleeping time, goto sleep
- [+] add flags
- [+] flies should always move towards corpses if possible
- [+] maybe F_WANTSOB corpse, covet?
- [+] but thye can't pick it up so they'll just hover nearby?
- [+] now they can be hostile too
- [+] when we're picking a random corpse, try again if we get something
with nocorpse like a ghost
- [+] getrandomcorpserace()
- [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should
be more like 5
- [+] severed finger shoudn't count as making you bleed when you attack
- [+] in askcoords, always show cell name
- [+] monsters with no melee attacks can always cast spells while
adjacent
- [+] resting issues
- [+] having a temporary injury means oyu need to rest, so don't
say "you don't need to rest"!
- [+] also don't stop resting until all temporary injuries are
healed
- [+] show comparative weights / armour ratings
- [+] make price for npcs to join be lower
- [+] assertion failure with who->timespent == 0 when a mosnter falls
through a hole
- [+] (after I follow by falling down the pit)
- [+] make taketime() not work when not on the player's map
- [+] bug - monsters never waking up
- [+] "tailwind" spell (fast movement speed but forwards only)
- [+] now that i have Hardness, _all_ reduced damage should go towards
armour.
- [+] earthquake - pits open up around you (but not under you)
- [+] force sphere - radial blast outwards, knocks back lfs + obs +
doors etc
2011-10-04 14:24:53 +11:00
|
|
|
race_t *getrandomcorpserace(cell_t *c);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
job_t *getrandomjob(int onlyplayerjobs);
|
2011-05-20 06:30:58 +10:00
|
|
|
int getrandommonlevel(race_t *r, map_t *m);
|
2011-05-27 10:41:34 +10:00
|
|
|
race_t *getrandomrace(cell_t *c, int forcedepth);
|
2011-06-29 18:48:48 +10:00
|
|
|
race_t *getreallyrandomrace(enum RACECLASS wantrc);
|
2011-05-20 06:30:58 +10:00
|
|
|
enum SKILL getrandomskill(void);
|
* [+] always add webs if there are randomly generated spiders on a level
- [+] non-wood doors
- [+] iron
- [+] only interrupt rest for hunger if it's 'starving' or 'vhungry'
- [+] limit the amount of jumping we can do from athletics skill.
- [+] no message when i lockpick with a -6 combat knife.
- [+] make small corpses give much less nutrition!
- [+] high unarmed skill should give you unarmed attacks with a
1-handed weapon.
- [+] dual weild
- [+] if you have twoweapon skill, when you weild a weapon, say
"weild as secondary weapon? y/n"
- [+] in attackcell(), check if we have a weapon in our second hand
AND are skilled in twoweaponing
- [+] if so, get an attack with both, but with an accuracy penalty
(until adept level)
- [+] make sure shiedl code doesn't accept weapons!
- [+] knockback() can now knock back other lfs that you hit on the way
* [+] faster resting obs (only via R)
- [+] replace F_RESTING with F_ASLEEP. v0 = onpurpose. if v0, you wake
up when at full hp/mp/etc
- [+] implement F_TRAINING with traincounter
- [+] don't say 'rest until nearby allies ar eheald' if they aren't
damaged
- [+] make listen dififculty check dependant on distance to noise
- [+] doesn't make sense for druid to be a vegetarian. use "can only
eat meat when hungry"
- [+] @@ - combine acc+dmg. ie. "weapon: mace (63%,2-9dmg)
- [+] @@ - show both weapons if dualweilding.
- [+] porcupine shoudl have F_SHARP corpse. implement F_CORPSEFLAGS
- [+] create monster - "giant ant" making "giant antlion"!
- [+] giant porcupine
- [+] implement
- [+] should attack ants on sight - f_hatesrace
- [+] if race=hatesrace or baserace = hatesrace, will attack it.
- [+] gust of wind - blow obs away!
- [+] thorns (grow spikes, attackers take dmg)
- [+] f_retaliate, v0=ndice,v1=dsides, v2=damype, text=obname
- [+] major healing (new spell)
2011-05-05 13:12:52 +10:00
|
|
|
object_t *getrestob(lifeform_t *lf);
|
2011-03-10 16:47:18 +11:00
|
|
|
enum SKILLLEVEL getskill(lifeform_t *lf, enum SKILL id);
|
2011-08-31 06:10:43 +10:00
|
|
|
int getskilllevcost(enum SKILLLEVEL slev);
|
2011-07-01 13:34:41 +10:00
|
|
|
int getsounddist(int volume);
|
2010-12-07 18:34:26 +11:00
|
|
|
char *getspeedname(int speed, char *buf);
|
2011-04-11 15:05:45 +10:00
|
|
|
char *getspeednameshort(int speed, char *buf);
|
2011-09-15 11:40:26 +10:00
|
|
|
long getspforpoint(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
float getstatmod(lifeform_t *lf, enum ATTRIB att);
|
2011-03-10 16:47:18 +11:00
|
|
|
char *getskilldesc(enum SKILL id );
|
|
|
|
char *getskillname(enum SKILL id );
|
|
|
|
char *getskilllevelname(enum SKILLLEVEL sl);
|
2012-01-21 11:35:04 +11:00
|
|
|
int getteachableskills(lifeform_t *teacher, lifeform_t *student, int *info, enum TRADEINFOTYPE *tradetype, int *ninfo );
|
2012-03-06 21:47:26 +11:00
|
|
|
int gettr(lifeform_t *lf);
|
2012-01-21 11:35:04 +11:00
|
|
|
char *gettradeinfoname(int what, enum TRADEINFOTYPE tradetype, char *buf);
|
2011-11-17 11:50:33 +11:00
|
|
|
int getthrowspeed(lifeform_t *lf);
|
2011-09-13 09:52:21 +10:00
|
|
|
int getturnspeed(lifeform_t *lf);
|
2011-10-06 09:08:13 +11:00
|
|
|
void getwantdistance(lifeform_t *lf, lifeform_t *victim, int *min, int *max, int attacking);
|
2010-12-07 18:34:26 +11:00
|
|
|
object_t *getweapon(lifeform_t *lf);
|
2012-03-16 11:35:38 +11:00
|
|
|
int getweapons(lifeform_t *lf, int meleeonly, object_t **wep, flag_t **damflag, int *lastweaponidx, obpile_t **op, int *nweps);
|
2011-09-15 11:40:26 +10:00
|
|
|
enum SKILLLEVEL getweaponskill(lifeform_t *lf, object_t *o);
|
2011-02-01 06:16:13 +11:00
|
|
|
long getxpforlev(int level);
|
2012-03-30 14:34:24 +11:00
|
|
|
void givebehaviour(lifeform_t *lf, enum BEHAVIOUR bid);
|
2011-02-01 06:16:13 +11:00
|
|
|
void givejob(lifeform_t *lf, enum JOB jobid);
|
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
your previous space!
- [+] fix: aigetlastknownpos should return the cell that trails
point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
in that weapon or perception
- [+] cope with mosnter necromancers, etc
- [+] parserace should look for necromancer etc.
- [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
- [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
- [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
"Skymage", "Wizard" (wild)
- [+] instead of getjob() then j->name, use "getjobname(lf)"
- [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
knowledge
- [+] casting healing on myself pleased Glorana twice!
- [+] one from casting a life spell
- [+] one from casting healing.
- [+] move ones from spell.c to castspell()
- [+] new flag: f_pleasesgod v0=godid, v1=howmuch
- [+] add to other spell objects:
- [+] f_pleasesgod
- [+] GODFIRE - spelllevel * 2
- [+] GODDEATH = spelllevel
- [+] GODLIFE = spelllevel*2
- [+] GODNATURE: spelllevle*2
- [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
- [+] 1 per each positive levle of getpietylev()
- [+] glorana: life
- [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
- [+] addsubjob()
- [+] killsubjob()
- [+] show subjobs in job descriptions.
- [+] data.c: addsubjob(....
- [+] in job defs:
- [+] f_canhavesubjob sj_xxx
- [+] use this to determine whether to ask about them
- [+] redo getjobname
- [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
talk.
- [+] warrior subclasses
- [+] "Scourge"
- [+] gains magic resistance as you level up
- [+] == 5 + (level * 3) %
- [+] nospells
- [+] no mana
- [+] paladin
- [+] blessed gear
- [+] can will turn undead
- [+] healing magic
- [+] god = glorana.
- [+] cannot use spells if glorana is angry.
- [+] battlemage
- [+] starts with one spell school (fire/ice/air)
- [+] canlearn fire/ice/air spell schools
- [+] limited to adept in all schools
- [+] slightly less hp
- [+] no warrior abilities
2012-02-24 17:45:23 +11:00
|
|
|
void givesubjob(lifeform_t *lf, enum SUBJOB sj);
|
2011-06-29 18:48:48 +10:00
|
|
|
int givemoney(lifeform_t *from, lifeform_t *to, int amt);
|
2011-02-01 06:16:13 +11:00
|
|
|
void giveobflags(lifeform_t *lf, object_t *o, enum FLAG whattype);
|
- [+] in shops, show 'ESC when done, ? to describe/purchase'
- [+] b - a silver shoddy bastard sword
- [+] show object's condition before changed material state?
- [+] bug: torches aren't lighting up walls when walking in corridor!
- [+] scrolls with f_scrollneedsob should say 'tried on object'
- [+] dungeon light
- [+] lit shoudl be "illuminated" and be an enum
- [+] IL_FULLYLIT
- [+] IL_WELLLIT (dark, candelabras in every room and moss
every 4 steps)
- [+] IL_DIM (dark, torches in rooms and moss every 6 steps)
- [+] IL_SHADOWY (dark, torches in some rooms and moss every 8
steps)
- [+] IL_FULLYDARK (ocassionally moss in rooms, otherwise no
light at all)
- [+] need more fixed light source objects:
- [+] moonmoss and sunmoss
- [+] if not fully lit, map illumination level determines how often
light sources are placed, and what type.
- [+] special monster behaviour (perception or lore will show this?)
- [+] insane monsters (attacks anything)
- [+] hunting for food (hungry, add covets food)
- [+] returning to lair with plunder (extra treasure)
- [+] timid (lower morale, maybe add f_timid or alwaysflees)
- [+] drugged (never flee)
- [+] drunk
- [+] diseased (start with a non-lethal disease. eating its corpse
infects you)
- [+] determined (will chase the player for longer)
- [+] lazy (chase for less time)
- [+] only show if perception >= skilled)
- [+] only show monster jobs if lorelev >= beginner
- [+] bug: cursed scrolls no longer having bad effects. fixed.
- [+] after you fool a monster by feigning death, it shouldn't target
you for a while.
- [+] prevent wands from being blessed/cursed.
- [+] bug: still no displayed text when your pet dies.
- [+] update: this seems to happen when a monster is killed by
another monster
- [+] The bear cub claws the dog. The dog wakes up.
- [+] fixed!
- [+] hwen monsters start with weapons/sheilds, their starting skill
should be based on hit dice.
- [+] max skill is hitdice / 3
- [+] wake up player before giving god gift!
- [+] "a goblin shaman moves out of view"
- [+] but i didnt hav ehigh enough lore!
- [+] maybe real_getlfname needs "showall". check this istneda of
usevis to see whether to show job.
- [+] crash when objects fall through a hole and the lower hole needed
to be moved slightly.
- [+] bug: invisibility is fooling even things with 'enhancesmell'
- [+] water onto dirt only makes mud if there isn't some already there.
- [+] monk fists DR should max out at 12 or so, since #attacks keeps
going up!
- [+] don't show god pleaseing messages when asleep
- [+] bug: showing '%s dodges" when you can't see it.
- [+] fix rarity of wands
- [+] reward at bottom of caves:
- [+] godstone of war (cases RAGE on everyone near you)
Goblin cave bosses:
- [+] goblin king
- [+] young dragon
2012-01-10 14:40:43 +11:00
|
|
|
int giverandomobs(lifeform_t *lf, int amt);
|
2011-10-06 09:08:13 +11:00
|
|
|
flag_t *giveskill(lifeform_t *lf, enum SKILL id);
|
|
|
|
flag_t *giveskilllev(lifeform_t *lf, enum SKILL id, enum SKILLLEVEL slev);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
void givestartobs(lifeform_t *lf, object_t *targob, flagpile_t *fp);
|
2011-03-10 16:47:18 +11:00
|
|
|
void givestartskills(lifeform_t *lf, flagpile_t *fp);
|
2011-02-01 06:16:13 +11:00
|
|
|
map_t *gotolev(lifeform_t *lf, int depth, object_t *fromstairs);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
int gotosleep(lifeform_t *lf, int onpurpose);
|
- [+] job abilities can now generally happen as often as you like,
since they're ilmited by stamina.
- [+] rename dexterity to agility
- [+] The leprechaun steals an uncursed ring of miracles from you!
The leprechaun cowers away from you!
- [+] should FLEE , not cower!
- [+] should set blessknown after reading a scroll
- [+] cursed mending scroll not working on non-damaged objects
- [+] spanner helps metal repair
- [+] needle boosts sewing ability
- [+] when resting in a tent, monstesr have very low chance of noticing
you (5%)
- [+] move display of resistances to 'effects' section.
- [+] show what a mosnter wants in effects (if you have >= beginner
knowledge)
- [+] prevent running into monsters with shift+dir
- [+] infinite loop when creating a map, constant getrandomroomcell()
calls failing
- [+] monstesr will steal objects they WANT rather than always random
- [+] monster:
- [+] leprechaun
- [+] lucky
- [+] covets gold
- [+] shillelagh ? or just a club?
- [+] blink
- [+] steal
- [+] dodge
- [+] at the moment attack doesn't seem to be draining stamina...
- [+] it is, but i'm getting it right back due to attack speed.
- [+] make stamina take longer to regen. - 1 per 3 turns rather
than 1 per 2.
- [+] stamina loss must be MORE than basic regen rate (0.3)
- [+] make stamina loss for attack depend on atatck speed!
- [+] instead of "you feel sick", say "you have contracted
weakening poison" or "you have been infected with xxx"
- [+] store stamina as a float, but getstamina() should return an
int.
- [+] sprinting - use 1.5 stamina per cell instead of 1?
- [+] modify accuracy text
- [+] fork
- [+] showing f_entertext should set didmsg
- [+] instead of printing 100% accuracy, show "Acc:0" (ie 100),
"Acc:-1" (ie -10) etc
- [+] do this in @@
- [+] do this in describeob
- [+] nocturnal monsters
- [+] base monsters initially being asleep on time and whether
mosnter is nocturnal
- [+] also during aiturn(), if they have nothing to do and it's
their sleeping time, goto sleep
- [+] add flags
- [+] flies should always move towards corpses if possible
- [+] maybe F_WANTSOB corpse, covet?
- [+] but thye can't pick it up so they'll just hover nearby?
- [+] now they can be hostile too
- [+] when we're picking a random corpse, try again if we get something
with nocorpse like a ghost
- [+] getrandomcorpserace()
- [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should
be more like 5
- [+] severed finger shoudn't count as making you bleed when you attack
- [+] in askcoords, always show cell name
- [+] monsters with no melee attacks can always cast spells while
adjacent
- [+] resting issues
- [+] having a temporary injury means oyu need to rest, so don't
say "you don't need to rest"!
- [+] also don't stop resting until all temporary injuries are
healed
- [+] show comparative weights / armour ratings
- [+] make price for npcs to join be lower
- [+] assertion failure with who->timespent == 0 when a mosnter falls
through a hole
- [+] (after I follow by falling down the pit)
- [+] make taketime() not work when not on the player's map
- [+] bug - monsters never waking up
- [+] "tailwind" spell (fast movement speed but forwards only)
- [+] now that i have Hardness, _all_ reduced damage should go towards
armour.
- [+] earthquake - pits open up around you (but not under you)
- [+] force sphere - radial blast outwards, knocks back lfs + obs +
doors etc
2011-10-04 14:24:53 +11:00
|
|
|
flag_t *hasbleedinginjury(lifeform_t *lf, enum BODYPART bp);
|
2011-06-29 18:48:48 +10:00
|
|
|
int hasfreeaction(lifeform_t *lf);
|
2011-12-13 03:40:17 +11:00
|
|
|
int real_hasfreeaction(lifeform_t *lf, enum FLAG exception);
|
2011-11-08 12:19:25 +11:00
|
|
|
int hashealableinjuries(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
job_t *hasjob(lifeform_t *lf, enum JOB job);
|
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
your previous space!
- [+] fix: aigetlastknownpos should return the cell that trails
point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
in that weapon or perception
- [+] cope with mosnter necromancers, etc
- [+] parserace should look for necromancer etc.
- [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
- [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
- [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
"Skymage", "Wizard" (wild)
- [+] instead of getjob() then j->name, use "getjobname(lf)"
- [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
knowledge
- [+] casting healing on myself pleased Glorana twice!
- [+] one from casting a life spell
- [+] one from casting healing.
- [+] move ones from spell.c to castspell()
- [+] new flag: f_pleasesgod v0=godid, v1=howmuch
- [+] add to other spell objects:
- [+] f_pleasesgod
- [+] GODFIRE - spelllevel * 2
- [+] GODDEATH = spelllevel
- [+] GODLIFE = spelllevel*2
- [+] GODNATURE: spelllevle*2
- [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
- [+] 1 per each positive levle of getpietylev()
- [+] glorana: life
- [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
- [+] addsubjob()
- [+] killsubjob()
- [+] show subjobs in job descriptions.
- [+] data.c: addsubjob(....
- [+] in job defs:
- [+] f_canhavesubjob sj_xxx
- [+] use this to determine whether to ask about them
- [+] redo getjobname
- [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
talk.
- [+] warrior subclasses
- [+] "Scourge"
- [+] gains magic resistance as you level up
- [+] == 5 + (level * 3) %
- [+] nospells
- [+] no mana
- [+] paladin
- [+] blessed gear
- [+] can will turn undead
- [+] healing magic
- [+] god = glorana.
- [+] cannot use spells if glorana is angry.
- [+] battlemage
- [+] starts with one spell school (fire/ice/air)
- [+] canlearn fire/ice/air spell schools
- [+] limited to adept in all schools
- [+] slightly less hp
- [+] no warrior abilities
2012-02-24 17:45:23 +11:00
|
|
|
int hassubjob(lifeform_t *lf, enum SUBJOB id);
|
2011-09-12 09:52:14 +10:00
|
|
|
void inc_quad_range(enum QUADRANT *start, enum QUADRANT *end, int howmuch);
|
2012-04-02 05:48:13 +10:00
|
|
|
int injure(lifeform_t *lf, enum BODYPART where, enum DAMTYPE damtype, enum INJURY forcetype);
|
2011-03-22 18:06:28 +11:00
|
|
|
int lfcanbestoned(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
flag_t *lfhasflag(lifeform_t *lf, enum FLAG fid);
|
- [+] job abilities can now generally happen as often as you like,
since they're ilmited by stamina.
- [+] rename dexterity to agility
- [+] The leprechaun steals an uncursed ring of miracles from you!
The leprechaun cowers away from you!
- [+] should FLEE , not cower!
- [+] should set blessknown after reading a scroll
- [+] cursed mending scroll not working on non-damaged objects
- [+] spanner helps metal repair
- [+] needle boosts sewing ability
- [+] when resting in a tent, monstesr have very low chance of noticing
you (5%)
- [+] move display of resistances to 'effects' section.
- [+] show what a mosnter wants in effects (if you have >= beginner
knowledge)
- [+] prevent running into monsters with shift+dir
- [+] infinite loop when creating a map, constant getrandomroomcell()
calls failing
- [+] monstesr will steal objects they WANT rather than always random
- [+] monster:
- [+] leprechaun
- [+] lucky
- [+] covets gold
- [+] shillelagh ? or just a club?
- [+] blink
- [+] steal
- [+] dodge
- [+] at the moment attack doesn't seem to be draining stamina...
- [+] it is, but i'm getting it right back due to attack speed.
- [+] make stamina take longer to regen. - 1 per 3 turns rather
than 1 per 2.
- [+] stamina loss must be MORE than basic regen rate (0.3)
- [+] make stamina loss for attack depend on atatck speed!
- [+] instead of "you feel sick", say "you have contracted
weakening poison" or "you have been infected with xxx"
- [+] store stamina as a float, but getstamina() should return an
int.
- [+] sprinting - use 1.5 stamina per cell instead of 1?
- [+] modify accuracy text
- [+] fork
- [+] showing f_entertext should set didmsg
- [+] instead of printing 100% accuracy, show "Acc:0" (ie 100),
"Acc:-1" (ie -10) etc
- [+] do this in @@
- [+] do this in describeob
- [+] nocturnal monsters
- [+] base monsters initially being asleep on time and whether
mosnter is nocturnal
- [+] also during aiturn(), if they have nothing to do and it's
their sleeping time, goto sleep
- [+] add flags
- [+] flies should always move towards corpses if possible
- [+] maybe F_WANTSOB corpse, covet?
- [+] but thye can't pick it up so they'll just hover nearby?
- [+] now they can be hostile too
- [+] when we're picking a random corpse, try again if we get something
with nocorpse like a ghost
- [+] getrandomcorpserace()
- [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should
be more like 5
- [+] severed finger shoudn't count as making you bleed when you attack
- [+] in askcoords, always show cell name
- [+] monsters with no melee attacks can always cast spells while
adjacent
- [+] resting issues
- [+] having a temporary injury means oyu need to rest, so don't
say "you don't need to rest"!
- [+] also don't stop resting until all temporary injuries are
healed
- [+] show comparative weights / armour ratings
- [+] make price for npcs to join be lower
- [+] assertion failure with who->timespent == 0 when a mosnter falls
through a hole
- [+] (after I follow by falling down the pit)
- [+] make taketime() not work when not on the player's map
- [+] bug - monsters never waking up
- [+] "tailwind" spell (fast movement speed but forwards only)
- [+] now that i have Hardness, _all_ reduced damage should go towards
armour.
- [+] earthquake - pits open up around you (but not under you)
- [+] force sphere - radial blast outwards, knocks back lfs + obs +
doors etc
2011-10-04 14:24:53 +11:00
|
|
|
flag_t *lfhasflagval(lifeform_t *lf, enum FLAG fid, int val0, int val1, int val2, char *text);
|
2011-02-01 06:16:13 +11:00
|
|
|
flag_t *lfhasknownflag(lifeform_t *lf, enum FLAG fid);
|
2011-09-01 03:33:35 +10:00
|
|
|
flag_t *lfhasknownflagval(lifeform_t *lf, enum FLAG fid, int val0, int val1, int val2, /*@null@*/ char *text);
|
2012-03-30 14:34:24 +11:00
|
|
|
int lfproduceslight(lifeform_t *lf, object_t **fromwhat);
|
- [+] monster: triclops. perception. vuln to light.
- [+] flying creatures shoudl fall to the ground when unconscious
- [+] (this might kill them)
- [+] animate statue - bring statue to life
- [+] excavate - radial, obliterate walls + obs, doesn't affect lfs
- [+] test unicode wall glyph! 0x2588
- [+] use unicode for gas
- [+] change f_glyph so that v1 = symbol, instead of text = symbol
- [+] change code
- [+] change definitions (macro)
- [+] test
- [+] implement puff = UNI_SHADELIGHT
- [+] implement cloud = bolded
- [+] if good, extend to staem etc
- [+] blue background for lfs in the water
- [+] prone in water means effective lower height
- [+] glass/ice cells not shattering properly
- [+] make magic barriers be solid too
- [+] combine lockpick code in io.c and objects.c into the lockpick()
function.
- [+] first ask what to use (if required)
- [+] then ask what dir (if required)
- [+] then ask what to unlock (if reuiqred)
- [+] then do it
- [+] locked containers
- [+] picklocks prompts to try them.
- [+] in addob, use non-inheritable f_lockedchance for both doors
and chests?
- [+] v0 = chance v1 = mod per depth
- [+] doors:
- [+] base 20% chance locked
- [+] every 5 levels, add 10% chance
- [+] add this to chests / safeboxes
- [+] operate doesn't let you open them
- [+] bugs in linkexits and linkexit
- [+] linkexits: wasn't checking the correct exit cell!!!
- [+] lnkexit: wasn't blanking the startcell
GRATINGS:
- [+] flags:
- [+] addflag(lastot->flags, F_OPPOSITESTAIRS,
OT_HOLEINROOF, NA, NA, NULL);
- [+] climbable d_down NA
- [+] BUT you can't climb it if it's locked.
- [+] usestairs() - if you climb a grating and it has no maplink:
- [+] use createregionlink(map, cell, grating_object, NULL,
RG_SEWER, map->region)
- [+] make stench affect enhancedsmell creatures more.
- [+] excavate should only affect SOLID matter.
- [+] going down a drain:
- [+] "You walk down a staircase" should be "climb down a drain"
- [+] deep slime in sewers sohuldn't spread
- [+] deep slime should spread to a slime puddle if it does....
- [+] fix background glyph colour for slime
- [+] killed by drowning should really be "drowned in %s"
SEWER HABITAT
- [+] permenant stench
- [+] if you're in a sewer cell and are not nauseated, add it.
- [+] nauseated doesn't expire in sewers.
- [+] add RG_SEWER
- [+] new regiontype - RG_SEWER
- [+] map:
- [+] pick size 2 - 5
- [+] start at x=2,y=2
- [+] add square 3x3 rooms in gridlike layout (but need space for 5)
- [+] connect rooms to orthogonally adjacent ones with passages
- [+] use addexits(). no exits on outer walls.
- [+] fill all empty cells with low floor and water (but NOt the
one with the exit!)
- [+] any solid with orthogonally adjacent water changes to a
walkway
- [+] cope with different x/y room counts
- [+] cope with differnet vert/horz corridor sizes.
- [+] horz = 2
- [+] vert = 1
- [+] random room size
- [+] allow objectclasses to have f_rarity
- [+] modify getrandomobcalss
- [+] but DONT make objects inherit it!!!
- [+] this is used to override selection hased on habitat - modify
getrandomobcalss appropriately
- [+] random objects/treasure:
- [+] add these only in non-water cells??
- [+] move all obs from water clls to random land cells
- [+] frequent
- [+] vomit
- [+] soggy paper
- [+] rotted food (add f_tainted to it)
- [+] common
- [+] wep/arm
- [+] all wep/arm are shoddy in sewers
- [+] uncommon
- [+] rings (higher than normal chance - they were lost down
sinks)
- [+] occasional tech
- [+] bug: playerstart3 vault filled with walls when made randomly!
- [+] death speech text for intelligent monsters
- [+] 'aaargh!'
- [+] 'this isn't over!'
- [+] BUG: linkexits() - gettings exits in the wrong place. maybe not
taking rotation into account???
- [+] for example in playerstart_5 vault, found an 'exit' at the x:
- [+] this comes from the map flag f_roomexit, x, y
- [+] the flag may have bene added from autodoors()
- [+] have changed code so that f_roomexti uses text field to say
who added it
2011-11-29 13:25:04 +11:00
|
|
|
int lockpick(lifeform_t *lf, cell_t *targcell, object_t *target, object_t *device);
|
2011-02-01 06:16:13 +11:00
|
|
|
void loseobflags(lifeform_t *lf, object_t *o, int kind);
|
2011-03-22 18:06:28 +11:00
|
|
|
int hasbp(lifeform_t *lf, enum BODYPART bp);
|
2011-04-06 17:27:55 +10:00
|
|
|
flag_t *hasactivespell(lifeform_t *lf, enum OBTYPE sid);
|
|
|
|
int haslof(cell_t *src, cell_t *dest, enum LOFTYPE loftype, cell_t **newdest);
|
2012-01-18 07:46:23 +11:00
|
|
|
int haslof_real(cell_t *src, cell_t *dest, enum LOFTYPE loftype, cell_t **newdest, lifeform_t *srclf, int walllfsok);
|
2010-12-02 12:17:54 +11:00
|
|
|
int haslos(lifeform_t *viewer, cell_t *dest);
|
2011-12-09 14:39:57 +11:00
|
|
|
int haslosdark(lifeform_t *viewer, cell_t *dest);
|
2011-08-24 18:15:09 +10:00
|
|
|
int haslos_fast(lifeform_t *viewer, cell_t *dest);
|
2011-02-01 06:16:13 +11:00
|
|
|
void interrupt(lifeform_t *lf);
|
2011-10-06 09:08:13 +11:00
|
|
|
enum FLAG isairborne(lifeform_t *lf);
|
2011-05-27 10:41:34 +10:00
|
|
|
int isaquatic(lifeform_t *lf);
|
2011-12-20 19:03:15 +11:00
|
|
|
flag_t *isasleep(lifeform_t *lf);
|
2011-09-15 08:42:54 +10:00
|
|
|
int isbehind(lifeform_t *lf, lifeform_t *otherlf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int isbleeding(lifeform_t *lf);
|
|
|
|
int isblind(lifeform_t *lf);
|
|
|
|
enum BURDENED isburdened(lifeform_t *lf);
|
2011-04-11 15:05:45 +10:00
|
|
|
int ischarmable(lifeform_t *lf);
|
2011-11-02 12:10:50 +11:00
|
|
|
int isclimbing(lifeform_t *lf);
|
2010-12-02 12:17:54 +11:00
|
|
|
int isdead(lifeform_t *lf);
|
2011-09-28 04:56:58 +10:00
|
|
|
int isdeaf(lifeform_t *lf);
|
* [+] always add webs if there are randomly generated spiders on a level
- [+] non-wood doors
- [+] iron
- [+] only interrupt rest for hunger if it's 'starving' or 'vhungry'
- [+] limit the amount of jumping we can do from athletics skill.
- [+] no message when i lockpick with a -6 combat knife.
- [+] make small corpses give much less nutrition!
- [+] high unarmed skill should give you unarmed attacks with a
1-handed weapon.
- [+] dual weild
- [+] if you have twoweapon skill, when you weild a weapon, say
"weild as secondary weapon? y/n"
- [+] in attackcell(), check if we have a weapon in our second hand
AND are skilled in twoweaponing
- [+] if so, get an attack with both, but with an accuracy penalty
(until adept level)
- [+] make sure shiedl code doesn't accept weapons!
- [+] knockback() can now knock back other lfs that you hit on the way
* [+] faster resting obs (only via R)
- [+] replace F_RESTING with F_ASLEEP. v0 = onpurpose. if v0, you wake
up when at full hp/mp/etc
- [+] implement F_TRAINING with traincounter
- [+] don't say 'rest until nearby allies ar eheald' if they aren't
damaged
- [+] make listen dififculty check dependant on distance to noise
- [+] doesn't make sense for druid to be a vegetarian. use "can only
eat meat when hungry"
- [+] @@ - combine acc+dmg. ie. "weapon: mace (63%,2-9dmg)
- [+] @@ - show both weapons if dualweilding.
- [+] porcupine shoudl have F_SHARP corpse. implement F_CORPSEFLAGS
- [+] create monster - "giant ant" making "giant antlion"!
- [+] giant porcupine
- [+] implement
- [+] should attack ants on sight - f_hatesrace
- [+] if race=hatesrace or baserace = hatesrace, will attack it.
- [+] gust of wind - blow obs away!
- [+] thorns (grow spikes, attackers take dmg)
- [+] f_retaliate, v0=ndice,v1=dsides, v2=damype, text=obname
- [+] major healing (new spell)
2011-05-05 13:12:52 +10:00
|
|
|
object_t *isdualweilding(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int isfleeing(lifeform_t *lf);
|
|
|
|
int isfreebp(lifeform_t *lf, enum BODYPART bp);
|
2011-03-04 12:22:36 +11:00
|
|
|
int isfriendly(lifeform_t *lf);
|
2011-10-07 07:12:13 +11:00
|
|
|
int isfullyhealed(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int isgenius(lifeform_t *lf);
|
* [+] operate a candlabrum on the ground confers permenant light
producing!
* [+] bug - water appearing in walls.
- [+] make armour less common in forests
- [+] too many --more--s when enhancing stats. use drawmsg() rather
than more().
- [+] when i go up/down stairs, i keep ending up BESIDE them??
* [+] "you hear footstepszzzzzzzzzzzzzzzzzzzzzzz" (random junk)
- [+] when i start training with a spell active, it gets interrupted.
try again, interrupted again! works 3rd time.
- [+] replace lockpicking with "locksmithing"
- [+] replace 'body control' with 'slow metabolism'
- [+] pit traps broken - fixed now.
- [+] doheading issue in @M still.
* [+] how did zombie get 28 hp? bug in rollhitdice.
- [+] blind a skeleton with light. it gets blind, starts fleeing. but
because it can't SEE you, it stops fleeing instantly!
* [+] getflags(flagpile_t *fp, ... )
- [+] stun spell
- [+] only say "x2" etc if msgbuf we are going to draw still contains
the original text.
- [+] when you level up, your psionic skill determines your chance of
learning a new psionic spell?
- [+] when you teleport/use stairs, get all allies in SIGHT, not
adjacent.
* [+] more traps!
* [+] prisoners in cells
- [+] recruitment: instead of outright refusing to join, just up the
price.
* [+] make spellbook contents depend on map difficulty
- [+] cloak of shadows - give invisibility when in darkness
* [+] limited wish:
- [+] casting WISH reduces max hp by 50%!
- [+] monster ai code: if inventory full (or close), put non-eqiupped
stuff into containers
* [+] infinite loop in firedam to lf
- [+] pot of xp isn't working for monsters. they get no more hp!!
- [+] summonmosnter should jsut relocate existing uniques
- [+] 'planeshift' spell for gods - "unsummon"s them.
* [+] diety - greedgod
* [+] more village contents
2011-07-26 12:01:05 +10:00
|
|
|
int isgod(lifeform_t *lf);
|
- [+] dual wield, then weild -, say "y" to "weild nothing in your left
hand", CRASH.
- [+] rogue should start with novice speed and throwing
- [+] better method of sneaking - just hiding in one spot isn't
effective.
- [+] get "hide" at novice level
- [+] at beginner level, you can move while hiding. ( but if
someone hears you, they spot you)
- [+] if you can't see an object (ie in inventory it just comes up as
"a potion"), make the description be generic.
- [+] stealth shouldn't affect movement noise uless you are hiding
- [+] move slower when hiding.
- [+] trying to hide while already hiding will cancel it.
- [+] rename f_sneak to f_movecarefully
- [+] move "you attack the helpless xxx" into construct_hit_string.
- [+] light level should affect stealth checks.
- [+] flying should only impact stealth checks to make noise, not to
hide.
- [+] sprint should stop hiding!
- [+] weapon brand: of protection. gives AR.
- [+] make sure i show this in showlfarmour ]
- [+] shouldn't be able to backstab plants
- [+] no hiding while producing light.
- [+] changing armour should stop you from hiding.
- [+] let you hide when you can see monsters, but they instantly get
F_SPOTTED.
- [+] different verbs for god voices
- [+] remove "enhanced smell" from xat and dire rat.
- [+] make guns usually start with ammo
- [+] gain attrib point on _every_ levelup, but 2 each time not 5.
- [+] this means that we now gain 6 stat points every 3 levels
rather than 5, but they can be spread out.
- [+] rogue modifications
- [+] change starting backstab level from beginner -> novice
- [+] generated monsters: "It is sleeping. It is flying."
- [+] should be sleeping AND flying!
- [+] remove duplicate tanglemissile code.
- [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff
- [+] needs a "boostafter" param.
- [+] ie.
- [+] needs at least ATTREQ agility to USE it.
- [+] if you are less than this, start applying penalty.
- [+] v2 = BOOSTAFTER level. (CHANGE)
- [+] if you are above this amount, start applying bonus.
- [+] text = scalepercent. (CHANGE)
- [+] adjust code
- [+] adjust defs
- [+] explain in io.c
- [+] test
- [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
|
|
|
int ishelplessvictim(lifeform_t *victim, lifeform_t *attacker, enum HELPLESSTYPE *how);
|
|
|
|
flag_t *ishidingfrom(lifeform_t *hider, lifeform_t *seeker);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
int ishirable(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int isimmobile(lifeform_t *lf);
|
- [+] add more vrare vaults to reduce likelihood of cockatrice lair!
- [+] bazaar
- [+] money vault hsould be vrare
- [+] so should traproom
- [+] rename giant rat to "dire rat"
- [+] don't show anything other than object description and throwing
for unknown tech
- [+] shouldn't be able to rest in a tent if it's not known!
- [+] eyebat corpse increase maxmp?
- [+] blessed missiles should nearly always hit undead
* [+] too easy to dodge thrown missiles?
- [+] spell and wand of culinary abundance
- [+] if a carnivorous animal kills you: "Eaten by a xxx"
* [+] bug: stairsperlev is only ever used in making DUNGEONS.
generecise this ??
- [+] safetorest - should ignore monsters feigning death
- [+] broken nose should reduce smell range
- [+] fresh and stale bread should be interchangable in cooking
- [+] make scroll of permenance act on you, not your objects
- [+] tweak object rarity yet agian...
- [+] bug: hole in roof above player start pos is immediately destroyed.
- [+] change pickaxe to be like resting
- [+] wait first, then if not interrupted, do the dig.
- [+] add cell->hp, celltype->hp. around 100.
- [+] f_digging, x, y, digperturn
- [+] interrupt() will stop this.
- [+] each turn, lower hp of cell by 1.
- [+] make wlaking bakwards take less time based on athletics skill!!!
- [+] at adept, takes no extra time?
- [+] better racial display
- [+] ? for extra info.
- [+] hitdice
- [+] general attribs (str etc)
- [+] don't show description until you press '?'
- [+] addbonustext(flagpile, f_BONDESC, "asdffas") - to avoid
index issues
- [+] remove VULNS from "effects" unless temporary
- [+] isresistantto() etc need to have "int onlytemp"
- [+] remove VULNS from manual BONTEXT flags
- [+] CRASH IN DTVULN CODE!!
- [+] limit '?r' display ??
- [+] what to show
- [+] show races you have encountered
- [+] show races you know about through Lore (adept level)
- [+] show playable races?????
- [+] structs
- [+] race->encountered
- [+] need to save this.
- [+] make EFFECTS only show TEMPORARY effects or ones which don't come
from race?
- [+] automate bondesc/pendesc based on flags!
- [+] vulnarabilities / resist / immun
- [+] vision range!! (visrangemod)
- [+] size? restricted armour.
- [+] stayinroom
- [+] f_humanoid (can use weapons)
- [+] tamable
- [+] seeindark
- [+] caneatraw
- [+] enhancesmell
- [+] caneatraw
- [+] vegeatrian
- [+] cernivore
- [+] fastmetab
- [+] startskill
- [+] tremorsense
- [+] silentmove
- [+] deaf
- [+] flying / levitating
- [+] awareness
- [+] nocturnal / diurnal
- [+] heavyblow
- [+] packattack
- [+] dodges
- [+] autocreateob
- [+] MPMOD
- [+] HPMOD
- [+] MEDITATES
- [+] PHOOTMEM
- [+] canwill "Spells: xx, x, x, x"
- [+] spells:
- [+] animate stone - "power" walls turn into stone golems
- [+] implement spell
- [+] golem
- [+] r_golemstone
- [+] knockback attack
- [+] high str
- [+] fists
- [+] corpsetype and iunsummonob = boulder
- [+] spell power modification - subtract spell level.
- [+] when i go down a drain, make sure the new map links to THE DRAIN
I WENT DOWN. not some otehr one.
- [+] some monsters shouldn't sleep! add new flag: f_nosleep
- [+] make spanner help disarm traps!
2011-12-04 09:33:37 +11:00
|
|
|
flag_t *isimmuneto(flagpile_t *fp, enum DAMTYPE dt, int onlytemp);
|
2012-01-25 20:20:15 +11:00
|
|
|
int isinbattle(lifeform_t *lf, int includedistant);
|
2011-02-16 05:21:33 +11:00
|
|
|
int isingunrange(lifeform_t *lf, cell_t *where);
|
2012-03-27 21:49:23 +11:00
|
|
|
int isliving(lifeform_t *lf);
|
* [+] bug: secret doors revealed when we walk away from them.
- [+] make lamps last heaps longer
* [+] web spell
* [+] spider monstrer
* [+] funnelweb:
* [+] redback:
- [+] if you are wracked with pain, don't clear msg
- [+] check rarity for spiders
* [+] attack/defense mod if there is stickiness in your square
- [+] replace "sticky" with "restrictive"
* [+] make some mosnters start hidden
- [+] adjust spot checks basd on distance
- [+] ensure that attacking stops you hiding
- [+] casting spells stops you from being hidden
- [+] hidden mosnters shouldn't move unless their victim is ADJACENT.
- [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless
their victim is ADJACENT.
- [-] XP CALC
- [+] funnelweb and redback are the same.
- [+] check this is right...... i want funnel web to be worse.
- [+] make hitconfer check in calcxpval take lifetime into account
- [+] ALSO assign an xp rating to each hitconferred flag.
- [+] hardcode this.
* [+] entangle spell
- [+] reveal secret doors if you see them get damaged.
* [+] make askcoords list restrivitce objects
- [+] ACTUALLY make vines not damaged by struggling
* [+] object descriptions, a/an needs to change if showing condition:
"a battered entangling vine"
- [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't
happen!
- [+] The human diety reads a blessed scroll of create monster! -- but
nothing happens??
* [+] throw code
- [+] wizard: ask for school specialty at start, from: fire, ice, xxx
? You get this + WILD.
- [+] describe varpower spells
- [+] fix mp cost for varpower spells
- [+] we're not stopping running at staircases anymore for some reason.
- [+] CHARGE ability (like swoop but don't return to original positino)
- [+] need to honor f_canlearn when displaying new skills to learn!
- [+] ai: if we are going to player's last known loc (via targetcell),
abandon if we can SEE the player!
- [+] make shatter() into a function
- [+] oil potion makes oil puddle whan smashed
- [+] make flammable objects be able to convert to others
- [+] replace 'magic item usage' with 'channeling'
- [+] a cloud of darkness descends. this is a *cursed* wand of light.
- [+] spiders shouldn't be able to be stuck in a web!
* [+] spells should be able to have MULTIPLE schools.
- [+] don't bleed into walls
- [+] in @M, use colours to show which spells are too hard so far (ie
cost > maxmp)
* [+] in @M, use schools that you know
* [+] after loading game, barbarian is getting an extra attack?
You miss the eyebat. You punch the eyebat.
- [+] show objects on top of stairs
- [+] stuck mosnters must pass a saving throw to follow you up/down
stairs
- [+] genericise: trytomove(lf)
* [+] add more snakes
- [+] undead can't eat or drink? or MOST undead can't.
* [+] why can MONSTERS shoot webs through things? (but I can't)
- [+] barkskin - doesn't reduce max mp enough?
- [+] The skeleton touches a fuming aqua potion [tried] then recoils in
pain!
The skeleton drops a blessed fuming aqua potion [tried].
The skeleton drinks a fuming aqua potion!
- [+] why can't i use abilites anymore?
- [+] infinite loop bug due to ai only having one ignorecell.
- [+] make sleet storms rust all armour
- [+] make a kind of walkdam that hits armour
- [+] add this as well as walkdam for: acid, fire, water
- [+] Takeoff isn't prompting properly. only showing weapons!
* [+] waterproof obs (ie cloak)
* [+] walkdambp doesn't hurt body if you have a cloak
NATURE SPELLS:
- [+] mending, heals 1d6 damage
- [+] spark
- [+] purify food
- [+] sticks to snakes
- [+] calm animals (power_d4 hd)
* [+] charm animal (works on one animal up to power hit dice, temporary)
- [+] airblast
- [+] barkskin (power +2 AR, firevuln, ongoing)
- [+] soften earth (makes ground into mud)
- [+] warp wood (damages wooden objects)
- [+] repel insects
- [+] reduce poison
- [+] web
- [+] windshield
- [+] call lightning, air
- [+] resist elements, ongoing
- [+] passwall
- [+] poisonbolt
- [+] quench (puts out a fire)
- [+] sleet storm (lowers movement, vision)
- [+] healing
- [+] cure poison
* [+] calming scent
- [+] dig
- [+] entangle
- [+] levitate
- [+] flamepillar
- [+] hailstorm. like sleetstorm but hurts more. power d 6.
- [+] burning wave
- [+] gaseous form
* [+] knowledge skills:
* [+] force makespellchoicelist() to show spells in level order.
* [+] druid
- [+] check OBJECT rarity list (dumplev)
- [+] fix bug where heaps of books suddently appear from dlev 3 onwards
- [+] gain skills on level up for some jobs
- [+] f_levspellschool, v0=lev, v1 = school or ANY - select one
from that school
2011-04-23 14:27:42 +10:00
|
|
|
int isloreskill(enum SKILL skid);
|
2011-12-09 11:37:02 +11:00
|
|
|
int islowhp(lifeform_t *lf);
|
- [+] prevent 'A' (forceattack) behind you
- [+] replace:
- [+] Something critically savages your body.
Your uncursed suit of ring mail protects you.
Your suit of ring mail is damaged!
- [+] with:
- [+] Something critically savages your suit of ring mail.
- [+] Your suit of ring mail is damaged!
- [+] tremorsense shouldn't see flying creatures
- [+] rename blink to "bamf"
- [+] add F_containsmeat for non-vegetarian foods
- [+] use this in vegetarian checks instead of mt_Flesh
- [+] "what goes up" spell
- [+] "equal and opposite" spell
- [+] why didn't cyborg ninja start with weapon weilded?
- [+] getbestwepon - accuracy was counting for too much. have
changed calculation.
- [+] why is wizard's staff not enchanted???
- [+] elephant race - Pachyon or Mammoan
- [+] bonus
- [+] Leather skin
- [+] str++
- [+] photo mem
- [+] high listen skill
- [+] good smell
- [+] penalty
- [+] slow movement
- [+] no armour on ears
- [+] agi-
- [+] low eyesight
- [+] vuln to sonic
- [+] vegetarian
- [+] other
- [+] large
- [+] throw salt to blind targets
- [+] if you learn a new spell school skill while game is in progress,
gain a 1st level spell too.
- [+] for random roast meat, always use base race
- [+] ie. orc, not "elite orc"
- [+] (ie. human, not 'town guard')
- [+] remove "prepare food" skill.
- [+] use "cook" instead
- [+] startskill should be a modifier, not absolute.
- [+] ie. elf can have sk_ranged, so can hunter. these will now
stack.
- [+] chance for ai to use a firearm is lowered based on firearm
accuracy
- [+] bug: massively high amount of skillxp needed for a point
- [+] firearms should do more damage at pointblank range.
- [+] icicle bugs - getrandomadjcell for knockback failing
- [+] still a bug with firearm accuracy updating
- [+] 2 squares away, move towards enemy - it doesn't update!
- [+] display all valid hits in brown
- [+] wear melted wax in ears to reduce sonic damage
- [+] ranged skillls
- [+] adp
- [+] fast reloading
- [+] exp
- [+] fire through lifeforms! lof_wallstop instead of lof_need
- [+] mas
- [+] extra dam.
- [+] object HP issue:
- [+] head: b - an uncursed helmet [AR:3] [110%]
- [+] body: c - an uncursed suit of ring mail [AR:6] [173%]
- [+] hands: d - an uncursed battered pair of gauntlets
[AR:2] [86%]
- [+] are objects taking negative damage??
- [+] have put an assertion in to check
- [+] wait for it to happen again...
- [+] add hitchance to askcoords when throwing/shooting
- [+] code it
- [+] test for throw
- [+] add for telekeniis too
- [+] add for guns:
- [+] "targetted: something [x%]"
- [+] "bow->Target->xxx [x%]"
- [+] show gun target on botl
- [+] redo throw accuracy:
- [+] 100 to hit yourself
- [+] apply per-cell penalty based on:
- [+] throwing / ranged skill (more)
- [+] AGI (lesser)
- [+] wetsuit description not showing dtresist cold!!
- [+] hunter job
- [+] wetsuit (covers multiple body parts), prot from cold
- [+] announce bleeding damage from injuries
- [+] only mark _weapons_ as 'tried' when weilding them
- [+] change random items:
- [+] fix wantrr bug
- [+] test...
- [+] new function: enum RARITY pickrarity()
- [+] check for all wantrr = xxx and use pickrarity instead.
- [+] give classes a RR_RARITY
- [+] common
- [+] weapon / armour / money / missile
- [+] furniture
- [+] misc
- [+] rock
- [+] uncommon
- [+] potion / scroll / food
- [+] rare
- [+] trap
- [+] tech/tool
- [+] dfeature (pentagram, vending machine, etc)
- [+] vrare
- [+] wand
- [+] ring
- [+] book
* [+] rewrite wrappers
* [+] marge getrandomobofclass and getrandomob
- [+] bug: telling allies to attack something they can't see. need a
msg for this.
- [+] Norman->Attack->A young hawk [flying, facing NE]
- [+] Cancelled.
- [+] bug: allies not regaining hp when asleep! fixed.
- [+] you can now always 'see' your allies if you have LOH
- [+] ie. scannedcell
- [+] ie. cansee
- [+] player luck should cause better random item creation, and easier
monsters
- [+] pickrr() needs arg to say what it is for (vault , ob, lf)
- [+] meals have special effects. eg:
- [+] easy:
- [+] mushroom + water = mushroom soup = restore a little
stamina
- [+] tomato + water = tomato soup = restore a little stamina
- [+] apple + stone = fruit juice (don't kill the stone)
- [+] cheese + bread = cheese sandwich = restore all food and
stamina
- [+] rum + chocolate = rum ball = cure pain, restore some hp
- [+] med:
- [+] corpse + water + salt = jerky
- [+] mushroom + water + beef = beef strogonoff = filling,
temporary Fitness boost
- [+] garlic + bread + clover = garlic bread = produce stench
like a trogolodyte
- [+] bread + meat + tomato = hot dog = temporary strength
- [+] water + sugar + 2 berries = potion of red cordial = speed
boost
- [+] hard
- [+] peanut + stone + salt + bread = peanut butter sandwich =
super filling, restore all stamina, temp fitness boost
- [+] rum + chocolate + sugar + berry = fruit cake = restores
all stamina and hp and mp
- [+] implement recipe_t
- [+] int ningerdients
- [+] enum OBTYPE ingredient[MAXINGREDS]
- [+] int count[MAXINGREDS]
- [+] int cosumeingredient[MAXINGREDS] (boolean)
- [+] makedesc_ob should show the recipe for it, if cooking skill is
high enough
- [+] cooking skill determines how many ingredients you can use
- [+] ie. beginner = you can make recipes which need 2 ingredients
- [+] redo "cook" ability.
- [+] can combine ingredients using recipes to make meals
- [+] ingredients must be known!
- [+] chef job
- [+] attr
- [+] gtaverage agility
- [+] low fitnesss
- [+] objects:
- [+] meat cleaver (slashing, low acc, high crit)
- [+] apron (rubber, low protection)
- [+] chef hat (cloth, low protection)
- [+] butane torch (flambe on adjacent lifeform)
- [+] abilities
- [+] rage at lv3
* [+] skills
- [+] chef job
- [+] attr
- [+] gtaverage agility
- [+] low fitnesss
- [+] objects:
- [+] meat cleaver (slashing, low acc, high crit)
- [+] apron (rubber, low protection)
- [+] chef hat (cloth, low protection)
- [+] butane torch (flambe on adjacent lifeform)
- [+] abilities
- [+] rage at lv3
* [+] skills
2011-11-15 05:21:40 +11:00
|
|
|
int isspellskill(enum SKILL skid);
|
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to
cmoe from lore:arcana instead
- [+] rename magic skillls to sorcery:fire etc?
- [+] adjust spell power calculation to take lack of sorcery skill
int oaccount
- [+] allow '\' during getchoice() and getchoicestr()
- [+] so that we can see what we have identified
- [+] lower metabolism while lmeditating
- [+] poisonous mushrooms
- [+] toadstool - poisonous
- [+] shiitake - normal
- [+] recognise via cooking skill
- [+] if you add a blood ob, 1 randmo piece of armour in the pile
becomes bloodstained
- [+] accuracy boost when attacking something who has grabbedyou
- [+] lessen gravitiy should prvent falls
* [+] bug:
- [+] add job descriptions
- [+] handle ESC in askchar
- [+] You attack the helpless the xat! You flatten the xat!
- [+] "the helpless the xat"
- [+] shoiuldn't use "flatten" sinec we're not killing it
- [+] You attack the helpless xat! You kill the xat!
- [+] ...but it wasn't dead!
- [+] flame pillar scroll no longer works
- [+] not asking for target.
- [+] use castspell
- [+] cope with 'ESC' presses during normal travel
- [+] allow "maycancel" in askchar
- [+] make wizards NOT automatically know wild magic
- [+] is F_MPMOD working? check with elf wizard.......
- [+] now it is.
- [+] bug: create an elf, go over it, v - CRASH in makedesc_race.
- [+] removeob() should update burdened status
- [+] ie drinking a potion
- [+] wizards start with a staff and a pointy hat
- [+] don't "stir in your slumber" if meditating
- [+] elves should have higher mp
- [+] dwarves should have lower mp
- [+] when monsters fail to open a door, abandon their targetcell
- [+] might be able to jsut make failing a dooropen count as a move
failure.
- [+] HiGrv didn't stop me from moving? i passed the skill check, need
to have a msg telling me this.
- [+] race descriptions.
- [+] add the descriptions
- [+] ? in @@ shows info on them.
- [+] (add ?=help in the bottom when in @ mode regardless of
showall)
- [+] make clouds expand as they disappate
- [+] modify gethitstokill() to take "useevasion" and "usearmour" as a
parameter
- [+] at adept lore, you get threat comparison. at skilled level you
get exact hit turns.
- [+] make threat calculation use gethitstokill
- [+] TEST new threat calc
* [+] way too easy to notice traps on chests from 4-5 cells away, with
only novice perception
- [+] make cloudkill create puff of poison gas rather than a cloud
- [+] attacking should count as movement (ie dont regen stamina)
- [+] need more body bash criticals.
- [+] torso bruised (acc penalty)
- [+] torso bruised badly (higher acc penalty, low dam penalty)
- [+] ribs broken (huge acc penalty, med dam penalty)
- [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3
turns)
- [+] should stop flying when you lose ocnsciousness...
- [+] warn before moving with f_pain as well. maybe cahnge
confirm_injiury_action ???
- [+] extra warrior skill: aimed strike
- [+] -50%acc
- [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
|
|
|
int ismadeofice(lifeform_t *lf);
|
2011-03-16 15:45:46 +11:00
|
|
|
int ismaxedskill(lifeform_t *lf, enum SKILL skid);
|
2011-02-01 06:16:13 +11:00
|
|
|
int ispeaceful(lifeform_t *lf);
|
2011-04-14 09:44:29 +10:00
|
|
|
int ispetof(lifeform_t *lf, lifeform_t *owner);
|
Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange. for melee fighters (default), it's 0. for
spells/archers, it's higiher.
- [+] if we are further away than bestrange, move towards.
- [+] if we are closer than bestrange, move away
- [+] AND: move to wantrange before doing spells etc
- [+] if we have a ranged attack and wantrange is default, increase
it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
acceptable!
* [+] mflag_push for monsters
http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent
* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
- [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
15).
- [+] CRASH flagpile corrupt
- [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
- [+] ex: your tracks don't last as long
- [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
- [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
- [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
|
|
|
flag_t *ispetortarget(lifeform_t *lf, lifeform_t *ownertarget);
|
2011-02-01 06:16:13 +11:00
|
|
|
int isplayer(lifeform_t *lf);
|
2011-04-14 09:44:29 +10:00
|
|
|
flag_t *ispoisoned(lifeform_t *lf);
|
* [+] need to set "needredraw" every time we exit:
- [+] make eating take longer - depends on lf size and food sizes
* [+] stop eating if something attacks you!
- [+] change spell code to cope with caster = NULL!!
- [+] why are rooms never more than 2 high
* [+] traps
* [+] eating bug again
* [+] disarm trap skill?
- [+] lots of needredraw bugs
- [+] bug with cursor jumping around lots
- [+] draw darkened visible cells in blue
* [+] shadow cloak
- [+] tree shouldn't prevent resting!
- [+] make plants not attack druids
* [+] cooking
- [+] stop eating if your eating object is no longer with you
* [+] FLAG CORRUPTION BUG
- [+] pet walking back and forth on rotted objects
- [+] purified food shouldn't decay anymore.
- [+] plants shouldn't sleep
- [+] RESTING on statbar not being cleared. the add of f_interrupted
was clearing statdirty before f_asleep got removed in killflag().
- [+] AI: don't eat if in battle
- [+] reduce projectile damage
- [+] show raceclass in statbars
- [+] smoke should make you cough.
- [+] when going up levle, only prompt for spells you can cast?? (don't
show "NOTCASTABLE")
- [+] Your young hawk dies. The stirge releases something!
- [+] sleeping thigns shoudn't follow you up/down stairs.
- [+] when throw'ng an object, don't let it stack (otherwise we might
destroy too much)
- [+] don't draw "c - " for nopickup objects.
- [+] saving throw for traps if you know about it.
- [+] druid - get xp for calming animals
- [+] rogue- get xp for picking locks, disarming traps.
- [+] metal should be immune to most damage types
* [+] make heavy blow need HEAVY weapon, not bashing.
- [+] can't rest/train while levitating!
- [+] gas traps only go off once.
- [+] bug: The goblin throws a boulder at you. A boulder misses you.
- [+] don't give short sword skill to wizard.
- [+] hearing range based on listen skill
* [+] coldness disease:
- [+] CRASH when swapping places
- [+] bug: i can teleport into an impassable object!
- [+] add: "really target (your ally)?"
- [+] give wizards school-based skill instead of manaspike + wildmagic
- [+] LevUp still not being cleared!!!
* [+] why is air wizard being prompted for call lightning at level 2???
* [+] summon weapon (summoning)
- [+] hold portal (mod)
- [+] reveal hidden
- [+] stench (death)
- [+] frostbite (minor but direct cold damage. 1dpower. maxpower 3)
- [+] grease (modific) creates oil in a circle
- [+] fear (death)
- [+] seeinvis (div)
- [+] locate obejct (div) tells you where a seen objcet is.
- [+] swap places (transl) "twiddle"
- [+] fire brand (fire, melee attaks deal fire damage)
- [+] iceedge
- [+] lore (div, temporary knowledge from a particular school?)
- [+] icicle (cold, deals cold dam and knocks enemies away)
* [+] chill (ice, 1d3 damage per exposed body part)
- [+] hail storm (ice, big damage in area)
- [+] wall of ice (creates icy wall, hp based on power)
2011-05-12 11:49:35 +10:00
|
|
|
flag_t *ispoisonedwith(lifeform_t *lf, enum POISONTYPE pt);
|
2011-02-01 06:16:13 +11:00
|
|
|
int ispolymorphed(lifeform_t *lf);
|
* [+] F_prone if you're knocked down
- [+] make sheilds very good against projectiles
- [+] make smoke just REDUCE vision, not block it.
- [+] noncorporeal should stop grabs!
* [+] don't say 'a javelin is damaged' when you throw it, just apply
the damge
- [+] increase damage bonus with every lore level. +10% each time
(ie. up to 50% at top)
* [+] give accuracy + critical bonus for lore levles too
- [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle]
- [+] Show Pain on botl.
* [+] more staves
- [+] low hitpoint warning for pets (or make them shriek, whine, etc)
- [+] CRITKNOCKDOWN
* [+] FINISH GRIZZLY
- [+] undead should be immune to poison!!
- [+] make code to auto add flags to undead.
- [+] if you ever move a door (ie. airblast), automatically open it.
- [+] young wolf shouldn't be able to open a door!
* [+] You throw a dart at the carpet snake. Your dart misses
you.--More--
- [+] no sprinting while burdneed
- [+] blood should be drawn BELOW stairs
- [+] weilded torch should do 1d4 fire damage (counts as a club)
* [+] The skeleton touches a leather belt then recoils in pain!The
skeleton drops a blessed leather belt.The skeleton puts on a
leather belt.
- [+] don't show "you can cast it at power level xxx" for abilities
* [+] more item randomising
- [+] make grey ooze splatter into acid
- [+] "the vine grabs you" if you walk onto an entangling vine.
- [+] don't start monsters within player's los
- [+] properly randomise sticks to snakes
- [+] stirge
- [+] leech (like stirge but can charge/leap, and slightly more hp /
damage)
- [+] treesnake
- [+] constrictor
- [+] cobra
- [+] stickes to snakes - make caster's weapon revert.
- [+] A something comes into view.
- [+] is invisibility code working properly when you see someone use
the invis spell?
- [+] don't include cosmetic objects in 'you see xxx'
* [+] monsters: don't use spells if you don't have lof.
- [+] pets not following around corners if you move diagonally. fixed a
little.
- [+] summon small animals (2-3 x SZ_SMALL)
* [+] jet of water
- [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc)
- [+] lightning storm (lightbning everyone within los, and more damage)
- [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
|
|
|
int isprone(lifeform_t *lf);
|
- [+] add more vrare vaults to reduce likelihood of cockatrice lair!
- [+] bazaar
- [+] money vault hsould be vrare
- [+] so should traproom
- [+] rename giant rat to "dire rat"
- [+] don't show anything other than object description and throwing
for unknown tech
- [+] shouldn't be able to rest in a tent if it's not known!
- [+] eyebat corpse increase maxmp?
- [+] blessed missiles should nearly always hit undead
* [+] too easy to dodge thrown missiles?
- [+] spell and wand of culinary abundance
- [+] if a carnivorous animal kills you: "Eaten by a xxx"
* [+] bug: stairsperlev is only ever used in making DUNGEONS.
generecise this ??
- [+] safetorest - should ignore monsters feigning death
- [+] broken nose should reduce smell range
- [+] fresh and stale bread should be interchangable in cooking
- [+] make scroll of permenance act on you, not your objects
- [+] tweak object rarity yet agian...
- [+] bug: hole in roof above player start pos is immediately destroyed.
- [+] change pickaxe to be like resting
- [+] wait first, then if not interrupted, do the dig.
- [+] add cell->hp, celltype->hp. around 100.
- [+] f_digging, x, y, digperturn
- [+] interrupt() will stop this.
- [+] each turn, lower hp of cell by 1.
- [+] make wlaking bakwards take less time based on athletics skill!!!
- [+] at adept, takes no extra time?
- [+] better racial display
- [+] ? for extra info.
- [+] hitdice
- [+] general attribs (str etc)
- [+] don't show description until you press '?'
- [+] addbonustext(flagpile, f_BONDESC, "asdffas") - to avoid
index issues
- [+] remove VULNS from "effects" unless temporary
- [+] isresistantto() etc need to have "int onlytemp"
- [+] remove VULNS from manual BONTEXT flags
- [+] CRASH IN DTVULN CODE!!
- [+] limit '?r' display ??
- [+] what to show
- [+] show races you have encountered
- [+] show races you know about through Lore (adept level)
- [+] show playable races?????
- [+] structs
- [+] race->encountered
- [+] need to save this.
- [+] make EFFECTS only show TEMPORARY effects or ones which don't come
from race?
- [+] automate bondesc/pendesc based on flags!
- [+] vulnarabilities / resist / immun
- [+] vision range!! (visrangemod)
- [+] size? restricted armour.
- [+] stayinroom
- [+] f_humanoid (can use weapons)
- [+] tamable
- [+] seeindark
- [+] caneatraw
- [+] enhancesmell
- [+] caneatraw
- [+] vegeatrian
- [+] cernivore
- [+] fastmetab
- [+] startskill
- [+] tremorsense
- [+] silentmove
- [+] deaf
- [+] flying / levitating
- [+] awareness
- [+] nocturnal / diurnal
- [+] heavyblow
- [+] packattack
- [+] dodges
- [+] autocreateob
- [+] MPMOD
- [+] HPMOD
- [+] MEDITATES
- [+] PHOOTMEM
- [+] canwill "Spells: xx, x, x, x"
- [+] spells:
- [+] animate stone - "power" walls turn into stone golems
- [+] implement spell
- [+] golem
- [+] r_golemstone
- [+] knockback attack
- [+] high str
- [+] fists
- [+] corpsetype and iunsummonob = boulder
- [+] spell power modification - subtract spell level.
- [+] when i go down a drain, make sure the new map links to THE DRAIN
I WENT DOWN. not some otehr one.
- [+] some monsters shouldn't sleep! add new flag: f_nosleep
- [+] make spanner help disarm traps!
2011-12-04 09:33:37 +11:00
|
|
|
flag_t *isresistantto(flagpile_t *fp, enum DAMTYPE dt, int onlytemp);
|
* [+] always add webs if there are randomly generated spiders on a level
- [+] non-wood doors
- [+] iron
- [+] only interrupt rest for hunger if it's 'starving' or 'vhungry'
- [+] limit the amount of jumping we can do from athletics skill.
- [+] no message when i lockpick with a -6 combat knife.
- [+] make small corpses give much less nutrition!
- [+] high unarmed skill should give you unarmed attacks with a
1-handed weapon.
- [+] dual weild
- [+] if you have twoweapon skill, when you weild a weapon, say
"weild as secondary weapon? y/n"
- [+] in attackcell(), check if we have a weapon in our second hand
AND are skilled in twoweaponing
- [+] if so, get an attack with both, but with an accuracy penalty
(until adept level)
- [+] make sure shiedl code doesn't accept weapons!
- [+] knockback() can now knock back other lfs that you hit on the way
* [+] faster resting obs (only via R)
- [+] replace F_RESTING with F_ASLEEP. v0 = onpurpose. if v0, you wake
up when at full hp/mp/etc
- [+] implement F_TRAINING with traincounter
- [+] don't say 'rest until nearby allies ar eheald' if they aren't
damaged
- [+] make listen dififculty check dependant on distance to noise
- [+] doesn't make sense for druid to be a vegetarian. use "can only
eat meat when hungry"
- [+] @@ - combine acc+dmg. ie. "weapon: mace (63%,2-9dmg)
- [+] @@ - show both weapons if dualweilding.
- [+] porcupine shoudl have F_SHARP corpse. implement F_CORPSEFLAGS
- [+] create monster - "giant ant" making "giant antlion"!
- [+] giant porcupine
- [+] implement
- [+] should attack ants on sight - f_hatesrace
- [+] if race=hatesrace or baserace = hatesrace, will attack it.
- [+] gust of wind - blow obs away!
- [+] thorns (grow spikes, attackers take dmg)
- [+] f_retaliate, v0=ndice,v1=dsides, v2=damype, text=obname
- [+] major healing (new spell)
2011-05-05 13:12:52 +10:00
|
|
|
flag_t *isresting(lifeform_t *lf);
|
- [+] job abilities can now generally happen as often as you like,
since they're ilmited by stamina.
- [+] rename dexterity to agility
- [+] The leprechaun steals an uncursed ring of miracles from you!
The leprechaun cowers away from you!
- [+] should FLEE , not cower!
- [+] should set blessknown after reading a scroll
- [+] cursed mending scroll not working on non-damaged objects
- [+] spanner helps metal repair
- [+] needle boosts sewing ability
- [+] when resting in a tent, monstesr have very low chance of noticing
you (5%)
- [+] move display of resistances to 'effects' section.
- [+] show what a mosnter wants in effects (if you have >= beginner
knowledge)
- [+] prevent running into monsters with shift+dir
- [+] infinite loop when creating a map, constant getrandomroomcell()
calls failing
- [+] monstesr will steal objects they WANT rather than always random
- [+] monster:
- [+] leprechaun
- [+] lucky
- [+] covets gold
- [+] shillelagh ? or just a club?
- [+] blink
- [+] steal
- [+] dodge
- [+] at the moment attack doesn't seem to be draining stamina...
- [+] it is, but i'm getting it right back due to attack speed.
- [+] make stamina take longer to regen. - 1 per 3 turns rather
than 1 per 2.
- [+] stamina loss must be MORE than basic regen rate (0.3)
- [+] make stamina loss for attack depend on atatck speed!
- [+] instead of "you feel sick", say "you have contracted
weakening poison" or "you have been infected with xxx"
- [+] store stamina as a float, but getstamina() should return an
int.
- [+] sprinting - use 1.5 stamina per cell instead of 1?
- [+] modify accuracy text
- [+] fork
- [+] showing f_entertext should set didmsg
- [+] instead of printing 100% accuracy, show "Acc:0" (ie 100),
"Acc:-1" (ie -10) etc
- [+] do this in @@
- [+] do this in describeob
- [+] nocturnal monsters
- [+] base monsters initially being asleep on time and whether
mosnter is nocturnal
- [+] also during aiturn(), if they have nothing to do and it's
their sleeping time, goto sleep
- [+] add flags
- [+] flies should always move towards corpses if possible
- [+] maybe F_WANTSOB corpse, covet?
- [+] but thye can't pick it up so they'll just hover nearby?
- [+] now they can be hostile too
- [+] when we're picking a random corpse, try again if we get something
with nocorpse like a ghost
- [+] getrandomcorpserace()
- [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should
be more like 5
- [+] severed finger shoudn't count as making you bleed when you attack
- [+] in askcoords, always show cell name
- [+] monsters with no melee attacks can always cast spells while
adjacent
- [+] resting issues
- [+] having a temporary injury means oyu need to rest, so don't
say "you don't need to rest"!
- [+] also don't stop resting until all temporary injuries are
healed
- [+] show comparative weights / armour ratings
- [+] make price for npcs to join be lower
- [+] assertion failure with who->timespent == 0 when a mosnter falls
through a hole
- [+] (after I follow by falling down the pit)
- [+] make taketime() not work when not on the player's map
- [+] bug - monsters never waking up
- [+] "tailwind" spell (fast movement speed but forwards only)
- [+] now that i have Hardness, _all_ reduced damage should go towards
armour.
- [+] earthquake - pits open up around you (but not under you)
- [+] force sphere - radial blast outwards, knocks back lfs + obs +
doors etc
2011-10-04 14:24:53 +11:00
|
|
|
int issleepingtimefor(lifeform_t *lf);
|
* [+] F_prone if you're knocked down
- [+] make sheilds very good against projectiles
- [+] make smoke just REDUCE vision, not block it.
- [+] noncorporeal should stop grabs!
* [+] don't say 'a javelin is damaged' when you throw it, just apply
the damge
- [+] increase damage bonus with every lore level. +10% each time
(ie. up to 50% at top)
* [+] give accuracy + critical bonus for lore levles too
- [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle]
- [+] Show Pain on botl.
* [+] more staves
- [+] low hitpoint warning for pets (or make them shriek, whine, etc)
- [+] CRITKNOCKDOWN
* [+] FINISH GRIZZLY
- [+] undead should be immune to poison!!
- [+] make code to auto add flags to undead.
- [+] if you ever move a door (ie. airblast), automatically open it.
- [+] young wolf shouldn't be able to open a door!
* [+] You throw a dart at the carpet snake. Your dart misses
you.--More--
- [+] no sprinting while burdneed
- [+] blood should be drawn BELOW stairs
- [+] weilded torch should do 1d4 fire damage (counts as a club)
* [+] The skeleton touches a leather belt then recoils in pain!The
skeleton drops a blessed leather belt.The skeleton puts on a
leather belt.
- [+] don't show "you can cast it at power level xxx" for abilities
* [+] more item randomising
- [+] make grey ooze splatter into acid
- [+] "the vine grabs you" if you walk onto an entangling vine.
- [+] don't start monsters within player's los
- [+] properly randomise sticks to snakes
- [+] stirge
- [+] leech (like stirge but can charge/leap, and slightly more hp /
damage)
- [+] treesnake
- [+] constrictor
- [+] cobra
- [+] stickes to snakes - make caster's weapon revert.
- [+] A something comes into view.
- [+] is invisibility code working properly when you see someone use
the invis spell?
- [+] don't include cosmetic objects in 'you see xxx'
* [+] monsters: don't use spells if you don't have lof.
- [+] pets not following around corners if you move diagonally. fixed a
little.
- [+] summon small animals (2-3 x SZ_SMALL)
* [+] jet of water
- [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc)
- [+] lightning storm (lightbning everyone within los, and more damage)
- [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
|
|
|
object_t *isstuck(lifeform_t *lf);
|
2011-09-13 09:52:21 +10:00
|
|
|
int issmellablelf(lifeform_t *lf);
|
Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange. for melee fighters (default), it's 0. for
spells/archers, it's higiher.
- [+] if we are further away than bestrange, move towards.
- [+] if we are closer than bestrange, move away
- [+] AND: move to wantrange before doing spells etc
- [+] if we have a ranged attack and wantrange is default, increase
it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
acceptable!
* [+] mflag_push for monsters
http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent
* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
- [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
15).
- [+] CRASH flagpile corrupt
- [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
- [+] ex: your tracks don't last as long
- [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
- [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
- [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
|
|
|
int isswimming(lifeform_t *lf);
|
- [+] when throwin gn aobject, warn if you have no LOF (just like
spells)
- [+] allow dodge/catch of thrown object when there is no thrower (ie.
arrow traps)
- [+] simplify monster spellcasting
- [+] don't use any mp
- [+] select power based on monster hit dice only
- [+] monsters should cast spells less often - use f_castchance,
default of 15% chance
- [+] TEST
- [+] you keep your own mpdice when polymorphing into a mosnter
- [+] fxied: throw a tranq dart, then:
- [+] The cockatrice loses consciousness. The cockatrice falls
asleep.
- [+] bug: can't operate a fridge on the ground cause it's too heavy to
lift
- [+] monsters generated on dark levels should always have seeindark 3-4
- [+] vending machines not working... fixed.
- [+] in getchoicestr:
- [+] if !showall, and if it shows a longdesc, then you hit
backspace, longdesc should be cleared.
- [+] show completion in a different colour
- [+] bug: sometimes we seem to have map->room[x], but no cells with
cell->room->id == thatid!!
- [+] stop vaults from overlapping.
- [+] taking too long to walk down levels - enforce max number of
monster free turns
- [+] inept weapon penalty should be slightly higher
- [+] bad feeling check is too easy.
- [+] skeletons should have f_noinjuries
- [+] shouldn't check for slipping on things while swimming
- [+] tweak how traps + perception skill impact search checks
- [+] bug: sometimes we have no player start position.
- [+] if the vault creation fails, restart map generation.
- [+] only give study scroll ability at high spellcasting skill
- [+] typo: ring (1 charges left)
* [+] god effects when you die:
- [+] pea soup should work in the cell in FRONT of you.
- [+] bug: ring of control seems to work when you _weild_ it!!
- [+] non-lethal weapons
- [+] sword of mercy (at <1hp, ko)
- [+] tranq dart
- [+] add sleeptypes
- [+] change all refernces to f_asleep->val[1] (now an enum)
- [+] change "stirs in its slumber" if unconscious
- [+] change all 'fallasleep' calls
- [+] attacking a ko'd enemy with merciful weapon should do nothing.
- [+] ai shouldn't target ko'd enemies
- [+] ai should stop targetting people once they're dead/ko'd
- [+] bashing damage should sometimes just knock unconscious instead of
killing?
- [+] if their hp would be >= -3, and onein(2)
- [+] different body part names? "metal frame" instead of "body"
- [+] implement F_BPNAME, v0=enum bodypart, text = name
- [+] getbodypartname() needs a lf argument.
- [+] once i add this, also make animals have "front legs" instead
of "arms", "paws" rather than "hands" etc.
- [+] fix calls to getbodypartname to pass in lf or null
- [+] cyborg mods:
- [+] can't wear most armour?
- [+] need f_noarmouron - we HAVE this bp, but can't put armour
on it.
- [+] large rust damage from water
- [+] if you have a bad feeling about an object, mark it as "[bad]"
- [+] f_knownbad
- [+] killing should anger the god of mercy
2011-09-22 12:00:16 +10:00
|
|
|
int isunconscious(lifeform_t *lf);
|
Monster AI improvements:
- [+] replace f_target with f_targetlf
- [+] wantrange. for melee fighters (default), it's 0. for
spells/archers, it's higiher.
- [+] if we are further away than bestrange, move towards.
- [+] if we are closer than bestrange, move away
- [+] AND: move to wantrange before doing spells etc
- [+] if we have a ranged attack and wantrange is default, increase
it.
- [+] in movetowards/away, cells in the wrong dir should NEVER be
acceptable!
* [+] mflag_push for monsters
http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst
er-ai-part-three.html
- [+] randomly use ranged attacks when adjacent
* [+] show trail in askcoords
- [+] when throwing, pass range to askcoords
- [+] max monsters per room is depth + 1
* [+] why do humans take ages to appear?
- [+] fireball spell is slow
- [+] why can i throw objects through magic barriers?
- [+] add a bonus for mastery of cartography - magic mapping every 50
turns.
- [+] crash with monsters moving off edge of world map
- [+] make magic barriers be ON stairs, not around them.
- [+] handle DIAGONAL entry to maps
- [+] OR make this impossible.
- [+] druid should get auto nature knoeldge as they levle up (levs 5 10
15).
- [+] CRASH flagpile corrupt
- [+] happening during AI movement.
- [+] make lightning storm only hit enemies
- [+] store last known movement dir in TARGETLF and PETOF.
- [+] limit monsters per room not working?!?!
- [+] make askcoords let you show object piles with .
- [+] make askcoords say "A magical barrier (+xx other objects)"
- [+] combine getlastknownmovedir into getlastknowncell
* [+] BUG: secret doors are showing up as . again!
* [+] implement trails (footprints & scent)
* [+] aimovetowardslf(lf, wantattack)
* [+] make pets use wantdist code?
- [+] what does expert/master tracking give you?
- [+] ex: your tracks don't last as long
- [+] ms: you don't leave tracks.
- [+] change f_reducemovement from multiplier to addition
- [+] comma still showing up scents and footprints incorrectly!!!!!!!!
Initial shallow/deep water:
- [+] restrict movement
- [+] check for drowning in turneffectslf AND movelf
- [+] warn before walking onto dangerous objects.
- [+] change how walkdam works for deepwater.
- [+] don't use walkdam flags.
- [+] don't make splashes of water on top of deepwater.
* [+] deep water will drown you if
- [+] don't leave footprints in either
- [+] create steam on fire damage, but don't CONVERT to it.
- [+] f_waterbreathing
- [+] can't drown in water
- [+] extra damage from cold/elec if in deep/shallow water
Initial swimming implementation
* [+] sacred/cursed ground
- [+] vending machine
- [+] don't transfer f_rarity flag when making objects / lifeforms.
Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
|
|
|
int isundead(lifeform_t *lf);
|
- [+] add more vrare vaults to reduce likelihood of cockatrice lair!
- [+] bazaar
- [+] money vault hsould be vrare
- [+] so should traproom
- [+] rename giant rat to "dire rat"
- [+] don't show anything other than object description and throwing
for unknown tech
- [+] shouldn't be able to rest in a tent if it's not known!
- [+] eyebat corpse increase maxmp?
- [+] blessed missiles should nearly always hit undead
* [+] too easy to dodge thrown missiles?
- [+] spell and wand of culinary abundance
- [+] if a carnivorous animal kills you: "Eaten by a xxx"
* [+] bug: stairsperlev is only ever used in making DUNGEONS.
generecise this ??
- [+] safetorest - should ignore monsters feigning death
- [+] broken nose should reduce smell range
- [+] fresh and stale bread should be interchangable in cooking
- [+] make scroll of permenance act on you, not your objects
- [+] tweak object rarity yet agian...
- [+] bug: hole in roof above player start pos is immediately destroyed.
- [+] change pickaxe to be like resting
- [+] wait first, then if not interrupted, do the dig.
- [+] add cell->hp, celltype->hp. around 100.
- [+] f_digging, x, y, digperturn
- [+] interrupt() will stop this.
- [+] each turn, lower hp of cell by 1.
- [+] make wlaking bakwards take less time based on athletics skill!!!
- [+] at adept, takes no extra time?
- [+] better racial display
- [+] ? for extra info.
- [+] hitdice
- [+] general attribs (str etc)
- [+] don't show description until you press '?'
- [+] addbonustext(flagpile, f_BONDESC, "asdffas") - to avoid
index issues
- [+] remove VULNS from "effects" unless temporary
- [+] isresistantto() etc need to have "int onlytemp"
- [+] remove VULNS from manual BONTEXT flags
- [+] CRASH IN DTVULN CODE!!
- [+] limit '?r' display ??
- [+] what to show
- [+] show races you have encountered
- [+] show races you know about through Lore (adept level)
- [+] show playable races?????
- [+] structs
- [+] race->encountered
- [+] need to save this.
- [+] make EFFECTS only show TEMPORARY effects or ones which don't come
from race?
- [+] automate bondesc/pendesc based on flags!
- [+] vulnarabilities / resist / immun
- [+] vision range!! (visrangemod)
- [+] size? restricted armour.
- [+] stayinroom
- [+] f_humanoid (can use weapons)
- [+] tamable
- [+] seeindark
- [+] caneatraw
- [+] enhancesmell
- [+] caneatraw
- [+] vegeatrian
- [+] cernivore
- [+] fastmetab
- [+] startskill
- [+] tremorsense
- [+] silentmove
- [+] deaf
- [+] flying / levitating
- [+] awareness
- [+] nocturnal / diurnal
- [+] heavyblow
- [+] packattack
- [+] dodges
- [+] autocreateob
- [+] MPMOD
- [+] HPMOD
- [+] MEDITATES
- [+] PHOOTMEM
- [+] canwill "Spells: xx, x, x, x"
- [+] spells:
- [+] animate stone - "power" walls turn into stone golems
- [+] implement spell
- [+] golem
- [+] r_golemstone
- [+] knockback attack
- [+] high str
- [+] fists
- [+] corpsetype and iunsummonob = boulder
- [+] spell power modification - subtract spell level.
- [+] when i go down a drain, make sure the new map links to THE DRAIN
I WENT DOWN. not some otehr one.
- [+] some monsters shouldn't sleep! add new flag: f_nosleep
- [+] make spanner help disarm traps!
2011-12-04 09:33:37 +11:00
|
|
|
flag_t *isvulnto(flagpile_t *fp, enum DAMTYPE dt, int onlytemp);
|
2011-07-01 13:34:41 +10:00
|
|
|
int isweaponskill(enum SKILL skid);
|
- [+] make "fear" be used to flee, not attack
- [+] CRASH in linkexit()
- [+] make most monsters either have sk_perception at least novice.
- [+] show success rate when studying scrolls
- [+] bug: unable to drink from fountains anymore
- [+] always use multidrop - this will free up 'D'
- [+] forest tree cluster maps are not working - only a single tree in
each cluster!
- [+] crash - ghost adding footprint to solid cell!
- [+] amberon's wrath for attacking peaceful should happen once per
ATTACK, not once per HIT
- [+] show cells outside LOS as blue or darkgrey
- [+] Don't place normal rooms next to the edge of the map either!!
- [+] getradiuscells(scatter) needs an option to include density
- [+] then make absolute zero have high density
* [+] summoning spells on pentagram will summon a demon instead
- [+] "confusion" / "baffle" mental spell - l2
- [+] add 'concussion' injury (head bash) - confusion effect.
- [+] iswoozy checks for this.
- [+] severed limbs -"frominjury" so taht you can heal them
- [+] linkexit() needs to be able to handle making THREE turns:
- [+] when looking for turnpos, remember each up/down celll
- [+] if we don't find one ("annot find a way to link up") , go
through each up/down cell and look left/right
- [+] fix is in place.
- [+] tested.
- [+] bug: doors being placed on top of rock walls!!! think this is
related to fix_deadends.
- [+] assert statement added.
* [+] bug: no up stairs generated on first dungeon map! was being
removed by clearcell() for overlapping rooms.
- [+] mass stun spell - l4. stuns all in los ?
* [+] make "stun" / massstun durations be 2-4 depending on power
- [+] "restricted" jobs/races?
- [+] don't put shopkeepers in pubs
- [+] make a per-map maxvisrange. the deeper you go, the lower this
gets (ie . it is darker, less ambientlight)
- [+] limit getvisrange(lf) by getmapmaxvisrange()
- [+] map->habitat->maxvisrange. set this during createhabitat()
- [+] reduce maxvisrange
- [+] reduce it to 6
- [+] why can i still see 1 cell?
- [+] why can i still always see my own cell?
- [+] when in pitch black for a certain amount of time, your vision
adjusts to maxrange=1
- [+] ie. getnightvisrange(lf) should be modified by
lf->eyeadjustment
- [+] reset if you can ever see a lit cell.
- [+] when this happens to the player:
- [+] msgs about this
- [+] also force light recalc
- [+] only recalc light when dirty
- [+] if we call "haslos()" for a lf and they have losdirty,
precalclos first.
- [+] vis range problems
- [+] sunglasses/footballhelm visrangereduce isn't working anymore
- [+] it's reducing maxvisrange(lf).
- [+] BUT - my maxvisrange is 5, which is still higher than the
ambient range.
- [+] need to apply reductions AFTER ambient light
- [+] NOW eyeadjustment isn't working. because cell lit is
l_temp, not l_notlit.
- [+] but if this is the case, why can't i see? anwer: because
my visrange has been reduced to 0 due to no ambient light!
- [+] so.... how do i make lightt sources override this?
- [+] maybe say: if a cell is lit, i can see it, even if it's
outside my ambient light.
- [+] falling over isn't reducing your visrange anymore
- [+] why doesn't eyeadjust make the screen update?
- [+] is regular "haslos" code ever used anymore????
- [+] now i can't see lit cells in the darkness again....fixed
- [+] after you calm something, give it xpval0
- [+] show message when calm animals fails
- [+] check all spell sc_resistmag oskillcheck difficulties
- [+] diff should be 20 + (spelllev*2) + power
- [+] l1 spell should be diff 20
- [+] l2 should be diff 24
- [+] ...
- [+] l7 should be diff 34
- [+] bleeding injuries should make armour "bloodstained" (5% chance
per turn)
- [+] msgs for "the sun is starting to set" and "the sun is starting to
rise"
- [+] make 6am, 18pm be constants
- [+] add crushed windpipe - lower Fitness, cannot sprint
* [+] CRASH when going down stairs! another overlapping room bug i
think.
- [+] cockatrices and chickens should cluck
- [+] canwill param: race:xxx;
- [+] define it
- [+] use this in "createmonster"
- [+] use this in "polymorph" when on self
- [+] then remove f_forcepoly
- [+] TEST
- [+] make playerstart vaults able to appear randomly (just don't place
the the "playerstart" object)
- [+] redo texttospellopts() to make it more friendly
- [+] give a list of what we want as args, rather than passing lots
of nulls
- [+] "pw:", &localpowervar etc
- [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during
losehp.
- [+] rename turneffectslf() to startlfturn()
- [+] show hunger level as a bar in @@
- [+] warn before becoming burdened.
- [+] warn when you ARE burdened. at the end of moveob()
- [+] l6 - absolute zero (turn everyone around you to ice, freeze all
obs, turn ground to ice)
- [+] some monsters leave non-meat food behind?
- [+] cactus -> cactus juice/fruit
- [+] dreamfungus -> sleeping powerder
- [+] silver weapons (5% chance on eligible weapons)
- [+] hurt vampires
- [+] vulnerable to mat??? - then use fromob in losehp()
- [+] f_matvuln mt_xxx multiplier
- [+] add some silver weapons
- [+] f_canbediffmat mt_silver 10%
- [+] if f_canbediffmat is true, sometimes change material to
this on creation
- [+] getobname - if material is differnet, show this
- [+] dagger
- [+] sword
- [+] arrow
- [+] bolt
- [+] dart
- [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
|
|
|
enum FLAG iswoozy(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
void killjob(job_t *job);
|
2010-12-02 12:17:54 +11:00
|
|
|
void killlf(lifeform_t *lf);
|
2012-02-08 15:23:51 +11:00
|
|
|
void killpoisontype(poisontype_t *pt);
|
2010-12-02 12:17:54 +11:00
|
|
|
void killrace(race_t *race);
|
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
your previous space!
- [+] fix: aigetlastknownpos should return the cell that trails
point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
in that weapon or perception
- [+] cope with mosnter necromancers, etc
- [+] parserace should look for necromancer etc.
- [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
- [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
- [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
"Skymage", "Wizard" (wild)
- [+] instead of getjob() then j->name, use "getjobname(lf)"
- [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
knowledge
- [+] casting healing on myself pleased Glorana twice!
- [+] one from casting a life spell
- [+] one from casting healing.
- [+] move ones from spell.c to castspell()
- [+] new flag: f_pleasesgod v0=godid, v1=howmuch
- [+] add to other spell objects:
- [+] f_pleasesgod
- [+] GODFIRE - spelllevel * 2
- [+] GODDEATH = spelllevel
- [+] GODLIFE = spelllevel*2
- [+] GODNATURE: spelllevle*2
- [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
- [+] 1 per each positive levle of getpietylev()
- [+] glorana: life
- [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
- [+] addsubjob()
- [+] killsubjob()
- [+] show subjobs in job descriptions.
- [+] data.c: addsubjob(....
- [+] in job defs:
- [+] f_canhavesubjob sj_xxx
- [+] use this to determine whether to ask about them
- [+] redo getjobname
- [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
talk.
- [+] warrior subclasses
- [+] "Scourge"
- [+] gains magic resistance as you level up
- [+] == 5 + (level * 3) %
- [+] nospells
- [+] no mana
- [+] paladin
- [+] blessed gear
- [+] can will turn undead
- [+] healing magic
- [+] god = glorana.
- [+] cannot use spells if glorana is angry.
- [+] battlemage
- [+] starts with one spell school (fire/ice/air)
- [+] canlearn fire/ice/air spell schools
- [+] limited to adept in all schools
- [+] slightly less hp
- [+] no warrior abilities
2012-02-24 17:45:23 +11:00
|
|
|
void killsubjob(subjob_t *sj);
|
2011-04-14 09:44:29 +10:00
|
|
|
flag_t *levelabilityready(lifeform_t *lf);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
int loadfirearm(lifeform_t *lf, object_t *gun, object_t *ammo);
|
- [+] prevent 'A' (forceattack) behind you
- [+] replace:
- [+] Something critically savages your body.
Your uncursed suit of ring mail protects you.
Your suit of ring mail is damaged!
- [+] with:
- [+] Something critically savages your suit of ring mail.
- [+] Your suit of ring mail is damaged!
- [+] tremorsense shouldn't see flying creatures
- [+] rename blink to "bamf"
- [+] add F_containsmeat for non-vegetarian foods
- [+] use this in vegetarian checks instead of mt_Flesh
- [+] "what goes up" spell
- [+] "equal and opposite" spell
- [+] why didn't cyborg ninja start with weapon weilded?
- [+] getbestwepon - accuracy was counting for too much. have
changed calculation.
- [+] why is wizard's staff not enchanted???
- [+] elephant race - Pachyon or Mammoan
- [+] bonus
- [+] Leather skin
- [+] str++
- [+] photo mem
- [+] high listen skill
- [+] good smell
- [+] penalty
- [+] slow movement
- [+] no armour on ears
- [+] agi-
- [+] low eyesight
- [+] vuln to sonic
- [+] vegetarian
- [+] other
- [+] large
- [+] throw salt to blind targets
- [+] if you learn a new spell school skill while game is in progress,
gain a 1st level spell too.
- [+] for random roast meat, always use base race
- [+] ie. orc, not "elite orc"
- [+] (ie. human, not 'town guard')
- [+] remove "prepare food" skill.
- [+] use "cook" instead
- [+] startskill should be a modifier, not absolute.
- [+] ie. elf can have sk_ranged, so can hunter. these will now
stack.
- [+] chance for ai to use a firearm is lowered based on firearm
accuracy
- [+] bug: massively high amount of skillxp needed for a point
- [+] firearms should do more damage at pointblank range.
- [+] icicle bugs - getrandomadjcell for knockback failing
- [+] still a bug with firearm accuracy updating
- [+] 2 squares away, move towards enemy - it doesn't update!
- [+] display all valid hits in brown
- [+] wear melted wax in ears to reduce sonic damage
- [+] ranged skillls
- [+] adp
- [+] fast reloading
- [+] exp
- [+] fire through lifeforms! lof_wallstop instead of lof_need
- [+] mas
- [+] extra dam.
- [+] object HP issue:
- [+] head: b - an uncursed helmet [AR:3] [110%]
- [+] body: c - an uncursed suit of ring mail [AR:6] [173%]
- [+] hands: d - an uncursed battered pair of gauntlets
[AR:2] [86%]
- [+] are objects taking negative damage??
- [+] have put an assertion in to check
- [+] wait for it to happen again...
- [+] add hitchance to askcoords when throwing/shooting
- [+] code it
- [+] test for throw
- [+] add for telekeniis too
- [+] add for guns:
- [+] "targetted: something [x%]"
- [+] "bow->Target->xxx [x%]"
- [+] show gun target on botl
- [+] redo throw accuracy:
- [+] 100 to hit yourself
- [+] apply per-cell penalty based on:
- [+] throwing / ranged skill (more)
- [+] AGI (lesser)
- [+] wetsuit description not showing dtresist cold!!
- [+] hunter job
- [+] wetsuit (covers multiple body parts), prot from cold
- [+] announce bleeding damage from injuries
- [+] only mark _weapons_ as 'tried' when weilding them
- [+] change random items:
- [+] fix wantrr bug
- [+] test...
- [+] new function: enum RARITY pickrarity()
- [+] check for all wantrr = xxx and use pickrarity instead.
- [+] give classes a RR_RARITY
- [+] common
- [+] weapon / armour / money / missile
- [+] furniture
- [+] misc
- [+] rock
- [+] uncommon
- [+] potion / scroll / food
- [+] rare
- [+] trap
- [+] tech/tool
- [+] dfeature (pentagram, vending machine, etc)
- [+] vrare
- [+] wand
- [+] ring
- [+] book
* [+] rewrite wrappers
* [+] marge getrandomobofclass and getrandomob
- [+] bug: telling allies to attack something they can't see. need a
msg for this.
- [+] Norman->Attack->A young hawk [flying, facing NE]
- [+] Cancelled.
- [+] bug: allies not regaining hp when asleep! fixed.
- [+] you can now always 'see' your allies if you have LOH
- [+] ie. scannedcell
- [+] ie. cansee
- [+] player luck should cause better random item creation, and easier
monsters
- [+] pickrr() needs arg to say what it is for (vault , ob, lf)
- [+] meals have special effects. eg:
- [+] easy:
- [+] mushroom + water = mushroom soup = restore a little
stamina
- [+] tomato + water = tomato soup = restore a little stamina
- [+] apple + stone = fruit juice (don't kill the stone)
- [+] cheese + bread = cheese sandwich = restore all food and
stamina
- [+] rum + chocolate = rum ball = cure pain, restore some hp
- [+] med:
- [+] corpse + water + salt = jerky
- [+] mushroom + water + beef = beef strogonoff = filling,
temporary Fitness boost
- [+] garlic + bread + clover = garlic bread = produce stench
like a trogolodyte
- [+] bread + meat + tomato = hot dog = temporary strength
- [+] water + sugar + 2 berries = potion of red cordial = speed
boost
- [+] hard
- [+] peanut + stone + salt + bread = peanut butter sandwich =
super filling, restore all stamina, temp fitness boost
- [+] rum + chocolate + sugar + berry = fruit cake = restores
all stamina and hp and mp
- [+] implement recipe_t
- [+] int ningerdients
- [+] enum OBTYPE ingredient[MAXINGREDS]
- [+] int count[MAXINGREDS]
- [+] int cosumeingredient[MAXINGREDS] (boolean)
- [+] makedesc_ob should show the recipe for it, if cooking skill is
high enough
- [+] cooking skill determines how many ingredients you can use
- [+] ie. beginner = you can make recipes which need 2 ingredients
- [+] redo "cook" ability.
- [+] can combine ingredients using recipes to make meals
- [+] ingredients must be known!
- [+] chef job
- [+] attr
- [+] gtaverage agility
- [+] low fitnesss
- [+] objects:
- [+] meat cleaver (slashing, low acc, high crit)
- [+] apron (rubber, low protection)
- [+] chef hat (cloth, low protection)
- [+] butane torch (flambe on adjacent lifeform)
- [+] abilities
- [+] rage at lv3
* [+] skills
- [+] chef job
- [+] attr
- [+] gtaverage agility
- [+] low fitnesss
- [+] objects:
- [+] meat cleaver (slashing, low acc, high crit)
- [+] apron (rubber, low protection)
- [+] chef hat (cloth, low protection)
- [+] butane torch (flambe on adjacent lifeform)
- [+] abilities
- [+] rage at lv3
* [+] skills
2011-11-15 05:21:40 +11:00
|
|
|
int loadfirearmfast(lifeform_t *lf, int onpurpose);
|
2011-04-06 17:27:55 +10:00
|
|
|
void loseconcentration(lifeform_t *lf);
|
- [+] delvers should always want money for info, unless you are a
delver too.
- [+] mirror image (mental)
- [+] varpower
- [+] makes power 'clone' lfs who look the same as caster
- [+] ie. same race.
- [+] also same job/armour/weps?
- [+] add f_noxp
- [+] add f_nocorpse
- [+] add f_summonedby so they vanish when the caster dies
- [+] add f_phantasm
- [+] vanish after _power_ hits,
- [+] attacks do 0 damage
- [+] don't announce innefectual attacks
- [+] dont cast spells or use abilities
- [+] petify() them if made by the player
- [+] force them to stay close.
- [+] in io.c or getlfname, show "[clone]" if it has f_phantasm
and was created by player
- [+] mosnters try to attack them.
- [+] once one gets hit enough times, it disappears
- [+] if the caster dies or changes level, they disappear.
- [+] can't talk to them
- [+] their obejcts vanish when they die
- [+] don't talk
- [+] make Yumi more about forgiving silly mistakes and avoiding
instakills
- [+] remove liking of healing
- [+] remove like of healing spells
- [+] takes a long time to anger.
- [+] aviod traps (bamf you away before they trigger)
- [+] prayers:
- [+] resist stoning (pray while appropriate creatures around)
- [+] resist paralysis (pray while appropriate creatures around)
- [+] sleep on enemies
- [+] passive powers:
- [+] always warn as if wisdom is high (passive)
- [+] always save when killed right after using stairs
(passive) "well, that seemed unfair."
- [+] gift:
- [+] auto sixth sense
- [+] potions of restoration
- [+] ring of miracles
- [+] shouldn't be able to Offer while enraged.
- [+] don't lose stamina while caffeinated
- [+] new vault: pit with walkway around it
- [+] bug: when worshipping yumi you get "you kill xxx" but they're
still alive
- [+] ... but they're still alive!
- [+] ... for yumi, move KO chance from losehp() to attacklf().
- [+] do the check BEFORE setting 'fatal'
- [+] pass forceko to losehp_real
- [+] bug: adjustdamhardness should only trigger when ismeleedam() is
true, not isphysicaldam()
- [+] greatly reduce motel cost
- [+] change order in attack.c: apply damage THEN announce, to deal
with KO
- [+] do it.
- [+] test KO code.
- [+] then check that feign death still works
- [+] demonskin vest should be flammable or vulnerable to fire.
- [+] time to get up should depend on size.
- [+] less than human: shortnone
- [+] human: normal
- [+] larger than human: longer
- [+] expert unarmed now gives you 'flip'
- [+] reduce damage done by low-level monsters
- [+] change resoration into a spell
- [+] implement
- [+] test
- [+] new spell: ressurection
- [+] corpses need to remember their lf's level
- [+] test
- [+] godstone of life - revives/restores all
- [+] rename "confiscate" to "yoink", and make it take a random object
at power 1, selected at power 2
- [+] gods should attack player if they are Enraged or Furious
- [+] is STR calc to see if you can push a boulder still working?
- [+] change to wizards:
- [+] start at novice in all magic skills (but don't gain initial
spells)
- [+] killing undead should please glorana LOTS. because it's hard to
gain piety with her otherwise.
- [+] restoration spells/potion should hurt undead
- [+] healing spells/potions should hurt undead
- [+] immolate shouldnt work if there is aleady a fire tehre.
CODE FOR WINNING THE GAME:
- [+] get at least one godstone
- [+] exit the dungeon
- [+] find the portal to the realm of gods
- [+] opposing god should appear once you pick up a godstone, and tell
you what to do next.
- [+] "come to the realm of gods and use it to destroy (related
god)"
- [+] "or if you lack the courage, give it to me!"
- [+] "you will find a portal on the surface"
- [+] use the portal to teleport to realm of gods
- [+] implement text for all gods...
- [+] god text in wt_god - should say 'but you werent meant to replace
them!'
- [+] EITHER:
- [+] challenge and defeat the god related to this godstone (more
points. "Crowned the god of xxx.")
- [+] TEST
- [+] offer the godstone to the godstone's opposing god (less
points, "Ascended to demigod-hood.")
- [+] implement
- [+] TEST
GODSTONES:
- [+] klikirak: rage
- [+] done
- [+] (make this one have fire effects too)
- [+] glorana: life
- [+] Felix shouldn't be able to yoink the godstone off you!
- [+] Write up the rest of the Godstone finding text.....
- [+] magic
- [+] battle
- [+] life
- [+] mercy
- [+] you can't hurt gods unless you
- [+] a) have their godstone
- [+] b) are in the realm of gods
2012-02-17 16:16:45 +11:00
|
|
|
void loseconsciousness(lifeform_t *lf, int howlong, lifeform_t *fromlf);
|
2011-02-16 05:21:33 +11:00
|
|
|
int losehp(lifeform_t *lf, int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc);
|
2012-02-26 10:42:48 +11:00
|
|
|
int losehp_real(lifeform_t *lf, int amt, enum DAMTYPE damtype, lifeform_t *fromlf, char *damsrc, int reducedam, object_t *fromob, int retaliate, int *waskod, int doeffects);
|
|
|
|
void losehpeffects(lifeform_t *lf, int dam, enum DAMTYPE damtype, lifeform_t *fromlf, object_t *fromob, int retaliate, int ko, int *waskod, int prelowhp);
|
2011-04-06 17:27:55 +10:00
|
|
|
void losemp(lifeform_t *lf, int amt);
|
2011-03-24 16:09:31 +11:00
|
|
|
void makefriendly(lifeform_t *lf, int howlong);
|
- [+] make zombies eat flesh.
- [+] warn before eating your own kind if it will anger your god, and
you wisdom is high.
- [+] make disease way worse if you eat your own race's corpse!
- [+] CRASH when i try to cook firebug corpse
* [+] bones files:
- [+] when your leg is bleeding, don't lose hp for ATTACKING, only for
MOVING.
- [+] bug: issue with skill display if you learn higher than your max
level by reading a book!
- [+] in this case, reading the book should fail.
- [+] when you start worshipping felix, allow you to learn lockpicking
& thievery to full level!
- [+] infinite loop when an ashkari enters rage while already eating.
- [+] felix prayer should always unlock all nearby doors
- [+] if you add f_calwill xxx, v1=112312 v2=NA, make v2 = v1.
- [+] that way we can confer it!
- [+] say "this is xxx!" after wearing a new amulet.
- [+] fork / knife should make you eat faster.
- [+] double the hp of most armour again
AMULETS
- [+] add new bodypart = neck
- [+] object hiddennames
* [+] nouns
* [+] adjectives
- [+] flight (canwill fly)
- [+] enhance spell power
- [+] victimization (makes everything hostile) (no auto id)
- [+] blinking
- [+] anger (canwill rage)
- [+] vs poison (poison immune)
- [+] vs magic (magic resistance)
- [+] common
- [+] feather fall (dt_fall dmg = 0)
- [+] don't "slam into the ground", just "float gently to the
ground"
- [+] of amplification (boost listening skillchecks, allow you to
listen at stairs)
- [+] peaceful sleep (don't get woken up by sound, cursed)
- [+] chef's amulet(lower metabolism)
- [+] thief's amulet (lockpicking)
2012-03-05 21:31:21 +11:00
|
|
|
int makelearnable(lifeform_t *lf, enum SKILL skid);
|
* [+] need to set "needredraw" every time we exit:
- [+] make eating take longer - depends on lf size and food sizes
* [+] stop eating if something attacks you!
- [+] change spell code to cope with caster = NULL!!
- [+] why are rooms never more than 2 high
* [+] traps
* [+] eating bug again
* [+] disarm trap skill?
- [+] lots of needredraw bugs
- [+] bug with cursor jumping around lots
- [+] draw darkened visible cells in blue
* [+] shadow cloak
- [+] tree shouldn't prevent resting!
- [+] make plants not attack druids
* [+] cooking
- [+] stop eating if your eating object is no longer with you
* [+] FLAG CORRUPTION BUG
- [+] pet walking back and forth on rotted objects
- [+] purified food shouldn't decay anymore.
- [+] plants shouldn't sleep
- [+] RESTING on statbar not being cleared. the add of f_interrupted
was clearing statdirty before f_asleep got removed in killflag().
- [+] AI: don't eat if in battle
- [+] reduce projectile damage
- [+] show raceclass in statbars
- [+] smoke should make you cough.
- [+] when going up levle, only prompt for spells you can cast?? (don't
show "NOTCASTABLE")
- [+] Your young hawk dies. The stirge releases something!
- [+] sleeping thigns shoudn't follow you up/down stairs.
- [+] when throw'ng an object, don't let it stack (otherwise we might
destroy too much)
- [+] don't draw "c - " for nopickup objects.
- [+] saving throw for traps if you know about it.
- [+] druid - get xp for calming animals
- [+] rogue- get xp for picking locks, disarming traps.
- [+] metal should be immune to most damage types
* [+] make heavy blow need HEAVY weapon, not bashing.
- [+] can't rest/train while levitating!
- [+] gas traps only go off once.
- [+] bug: The goblin throws a boulder at you. A boulder misses you.
- [+] don't give short sword skill to wizard.
- [+] hearing range based on listen skill
* [+] coldness disease:
- [+] CRASH when swapping places
- [+] bug: i can teleport into an impassable object!
- [+] add: "really target (your ally)?"
- [+] give wizards school-based skill instead of manaspike + wildmagic
- [+] LevUp still not being cleared!!!
* [+] why is air wizard being prompted for call lightning at level 2???
* [+] summon weapon (summoning)
- [+] hold portal (mod)
- [+] reveal hidden
- [+] stench (death)
- [+] frostbite (minor but direct cold damage. 1dpower. maxpower 3)
- [+] grease (modific) creates oil in a circle
- [+] fear (death)
- [+] seeinvis (div)
- [+] locate obejct (div) tells you where a seen objcet is.
- [+] swap places (transl) "twiddle"
- [+] fire brand (fire, melee attaks deal fire damage)
- [+] iceedge
- [+] lore (div, temporary knowledge from a particular school?)
- [+] icicle (cold, deals cold dam and knocks enemies away)
* [+] chill (ice, 1d3 damage per exposed body part)
- [+] hail storm (ice, big damage in area)
- [+] wall of ice (creates icy wall, hp based on power)
2011-05-12 11:49:35 +10:00
|
|
|
int makenauseated(lifeform_t *lf, int amt, int howlong);
|
2011-02-01 06:16:13 +11:00
|
|
|
void makenoise(lifeform_t *lf, enum NOISETYPE nid);
|
2012-01-25 20:20:15 +11:00
|
|
|
void makepeaceful(lifeform_t *lf, lifeform_t *causedby);
|
2011-03-04 12:22:36 +11:00
|
|
|
lifeform_t *makezombie(object_t *o);
|
2012-01-25 20:20:15 +11:00
|
|
|
void mayusespellschool(flagpile_t *fp, enum SPELLSCHOOL ss, enum FLAG how, int overridepower);
|
2011-12-13 03:40:17 +11:00
|
|
|
int meetsallattreqs(lifeform_t *lf, object_t *o);
|
2011-11-22 08:26:33 +11:00
|
|
|
int meetsattreq(lifeform_t *lf, flag_t *f, object_t *o, int *modpct);
|
2011-10-06 09:08:13 +11:00
|
|
|
int mightflee(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
int modattr(lifeform_t *lf, enum ATTRIB attr, int amt);
|
|
|
|
void modhunger(lifeform_t *lf, int amt);
|
2011-03-10 16:47:18 +11:00
|
|
|
float modifybystat(float num, lifeform_t *lf, enum ATTRIB att);
|
2011-10-06 09:08:13 +11:00
|
|
|
void modmorale(lifeform_t *lf, int howmuch);
|
2011-09-15 08:42:54 +10:00
|
|
|
void modstamina(lifeform_t *lf, float howmuch);
|
2011-10-17 09:45:36 +11:00
|
|
|
int movecausesnoise(lifeform_t *lf);
|
2011-04-14 09:44:29 +10:00
|
|
|
int needstorest(lifeform_t *lf, char *validchars);
|
2011-11-23 08:32:10 +11:00
|
|
|
void noarmouron(race_t *r, enum BODYPART bp);
|
2011-07-01 13:34:41 +10:00
|
|
|
int noise(cell_t *c, lifeform_t *noisemaker, enum NOISECLASS nt, int volume, char *text, char *seetext);
|
2011-09-28 11:05:10 +10:00
|
|
|
enum NOISECLASS noisetypetoclass(enum NOISETYPE nt);
|
2010-12-07 18:34:26 +11:00
|
|
|
void outfitlf(lifeform_t *lf);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
void petify(lifeform_t *lf, lifeform_t *owner);
|
* [+] operate a candlabrum on the ground confers permenant light
producing!
* [+] bug - water appearing in walls.
- [+] make armour less common in forests
- [+] too many --more--s when enhancing stats. use drawmsg() rather
than more().
- [+] when i go up/down stairs, i keep ending up BESIDE them??
* [+] "you hear footstepszzzzzzzzzzzzzzzzzzzzzzz" (random junk)
- [+] when i start training with a spell active, it gets interrupted.
try again, interrupted again! works 3rd time.
- [+] replace lockpicking with "locksmithing"
- [+] replace 'body control' with 'slow metabolism'
- [+] pit traps broken - fixed now.
- [+] doheading issue in @M still.
* [+] how did zombie get 28 hp? bug in rollhitdice.
- [+] blind a skeleton with light. it gets blind, starts fleeing. but
because it can't SEE you, it stops fleeing instantly!
* [+] getflags(flagpile_t *fp, ... )
- [+] stun spell
- [+] only say "x2" etc if msgbuf we are going to draw still contains
the original text.
- [+] when you level up, your psionic skill determines your chance of
learning a new psionic spell?
- [+] when you teleport/use stairs, get all allies in SIGHT, not
adjacent.
* [+] more traps!
* [+] prisoners in cells
- [+] recruitment: instead of outright refusing to join, just up the
price.
* [+] make spellbook contents depend on map difficulty
- [+] cloak of shadows - give invisibility when in darkness
* [+] limited wish:
- [+] casting WISH reduces max hp by 50%!
- [+] monster ai code: if inventory full (or close), put non-eqiupped
stuff into containers
* [+] infinite loop in firedam to lf
- [+] pot of xp isn't working for monsters. they get no more hp!!
- [+] summonmosnter should jsut relocate existing uniques
- [+] 'planeshift' spell for gods - "unsummon"s them.
* [+] diety - greedgod
* [+] more village contents
2011-07-26 12:01:05 +10:00
|
|
|
int pickup(lifeform_t *lf, object_t *what, int howmany, int fromground, int antannounce);
|
- [+] make zombies eat flesh.
- [+] warn before eating your own kind if it will anger your god, and
you wisdom is high.
- [+] make disease way worse if you eat your own race's corpse!
- [+] CRASH when i try to cook firebug corpse
* [+] bones files:
- [+] when your leg is bleeding, don't lose hp for ATTACKING, only for
MOVING.
- [+] bug: issue with skill display if you learn higher than your max
level by reading a book!
- [+] in this case, reading the book should fail.
- [+] when you start worshipping felix, allow you to learn lockpicking
& thievery to full level!
- [+] infinite loop when an ashkari enters rage while already eating.
- [+] felix prayer should always unlock all nearby doors
- [+] if you add f_calwill xxx, v1=112312 v2=NA, make v2 = v1.
- [+] that way we can confer it!
- [+] say "this is xxx!" after wearing a new amulet.
- [+] fork / knife should make you eat faster.
- [+] double the hp of most armour again
AMULETS
- [+] add new bodypart = neck
- [+] object hiddennames
* [+] nouns
* [+] adjectives
- [+] flight (canwill fly)
- [+] enhance spell power
- [+] victimization (makes everything hostile) (no auto id)
- [+] blinking
- [+] anger (canwill rage)
- [+] vs poison (poison immune)
- [+] vs magic (magic resistance)
- [+] common
- [+] feather fall (dt_fall dmg = 0)
- [+] don't "slam into the ground", just "float gently to the
ground"
- [+] of amplification (boost listening skillchecks, allow you to
listen at stairs)
- [+] peaceful sleep (don't get woken up by sound, cursed)
- [+] chef's amulet(lower metabolism)
- [+] thief's amulet (lockpicking)
2012-03-05 21:31:21 +11:00
|
|
|
void poison(lifeform_t *lf, int howlong, enum POISONTYPE ptype, int power, char *fromwhat, enum RACE srcraceid);
|
2012-03-29 07:17:47 +11:00
|
|
|
int poisoneffects(lifeform_t *lf, enum POISONTYPE ptid, int power);
|
* [+] need to set "needredraw" every time we exit:
- [+] make eating take longer - depends on lf size and food sizes
* [+] stop eating if something attacks you!
- [+] change spell code to cope with caster = NULL!!
- [+] why are rooms never more than 2 high
* [+] traps
* [+] eating bug again
* [+] disarm trap skill?
- [+] lots of needredraw bugs
- [+] bug with cursor jumping around lots
- [+] draw darkened visible cells in blue
* [+] shadow cloak
- [+] tree shouldn't prevent resting!
- [+] make plants not attack druids
* [+] cooking
- [+] stop eating if your eating object is no longer with you
* [+] FLAG CORRUPTION BUG
- [+] pet walking back and forth on rotted objects
- [+] purified food shouldn't decay anymore.
- [+] plants shouldn't sleep
- [+] RESTING on statbar not being cleared. the add of f_interrupted
was clearing statdirty before f_asleep got removed in killflag().
- [+] AI: don't eat if in battle
- [+] reduce projectile damage
- [+] show raceclass in statbars
- [+] smoke should make you cough.
- [+] when going up levle, only prompt for spells you can cast?? (don't
show "NOTCASTABLE")
- [+] Your young hawk dies. The stirge releases something!
- [+] sleeping thigns shoudn't follow you up/down stairs.
- [+] when throw'ng an object, don't let it stack (otherwise we might
destroy too much)
- [+] don't draw "c - " for nopickup objects.
- [+] saving throw for traps if you know about it.
- [+] druid - get xp for calming animals
- [+] rogue- get xp for picking locks, disarming traps.
- [+] metal should be immune to most damage types
* [+] make heavy blow need HEAVY weapon, not bashing.
- [+] can't rest/train while levitating!
- [+] gas traps only go off once.
- [+] bug: The goblin throws a boulder at you. A boulder misses you.
- [+] don't give short sword skill to wizard.
- [+] hearing range based on listen skill
* [+] coldness disease:
- [+] CRASH when swapping places
- [+] bug: i can teleport into an impassable object!
- [+] add: "really target (your ally)?"
- [+] give wizards school-based skill instead of manaspike + wildmagic
- [+] LevUp still not being cleared!!!
* [+] why is air wizard being prompted for call lightning at level 2???
* [+] summon weapon (summoning)
- [+] hold portal (mod)
- [+] reveal hidden
- [+] stench (death)
- [+] frostbite (minor but direct cold damage. 1dpower. maxpower 3)
- [+] grease (modific) creates oil in a circle
- [+] fear (death)
- [+] seeinvis (div)
- [+] locate obejct (div) tells you where a seen objcet is.
- [+] swap places (transl) "twiddle"
- [+] fire brand (fire, melee attaks deal fire damage)
- [+] iceedge
- [+] lore (div, temporary knowledge from a particular school?)
- [+] icicle (cold, deals cold dam and knocks enemies away)
* [+] chill (ice, 1d3 damage per exposed body part)
- [+] hail storm (ice, big damage in area)
- [+] wall of ice (creates icy wall, hp based on power)
2011-05-12 11:49:35 +10:00
|
|
|
int poisoncausesvomit(enum POISONTYPE ptype);
|
2011-04-14 09:44:29 +10:00
|
|
|
int poisonthreatenslife(lifeform_t *lf, flag_t *f);
|
2012-03-09 06:42:25 +11:00
|
|
|
int polymorphto(lifeform_t *lf, enum RACE rid, int howlong);
|
2011-06-20 13:23:40 +10:00
|
|
|
void practice(lifeform_t *lf, enum SKILL skid, int amt);
|
2012-01-25 20:20:15 +11:00
|
|
|
//void precalclos_old(lifeform_t *lf);
|
|
|
|
void precalclos(lifeform_t *lf);
|
2011-11-09 12:18:07 +11:00
|
|
|
void preparecorpse(lifeform_t *lf, object_t *corpse);
|
2011-02-01 06:16:13 +11:00
|
|
|
int push(lifeform_t *lf, object_t *o, int dir);
|
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
your previous space!
- [+] fix: aigetlastknownpos should return the cell that trails
point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
in that weapon or perception
- [+] cope with mosnter necromancers, etc
- [+] parserace should look for necromancer etc.
- [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
- [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
- [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
"Skymage", "Wizard" (wild)
- [+] instead of getjob() then j->name, use "getjobname(lf)"
- [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
knowledge
- [+] casting healing on myself pleased Glorana twice!
- [+] one from casting a life spell
- [+] one from casting healing.
- [+] move ones from spell.c to castspell()
- [+] new flag: f_pleasesgod v0=godid, v1=howmuch
- [+] add to other spell objects:
- [+] f_pleasesgod
- [+] GODFIRE - spelllevel * 2
- [+] GODDEATH = spelllevel
- [+] GODLIFE = spelllevel*2
- [+] GODNATURE: spelllevle*2
- [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
- [+] 1 per each positive levle of getpietylev()
- [+] glorana: life
- [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
- [+] addsubjob()
- [+] killsubjob()
- [+] show subjobs in job descriptions.
- [+] data.c: addsubjob(....
- [+] in job defs:
- [+] f_canhavesubjob sj_xxx
- [+] use this to determine whether to ask about them
- [+] redo getjobname
- [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
talk.
- [+] warrior subclasses
- [+] "Scourge"
- [+] gains magic resistance as you level up
- [+] == 5 + (level * 3) %
- [+] nospells
- [+] no mana
- [+] paladin
- [+] blessed gear
- [+] can will turn undead
- [+] healing magic
- [+] god = glorana.
- [+] cannot use spells if glorana is angry.
- [+] battlemage
- [+] starts with one spell school (fire/ice/air)
- [+] canlearn fire/ice/air spell schools
- [+] limited to adept in all schools
- [+] slightly less hp
- [+] no warrior abilities
2012-02-24 17:45:23 +11:00
|
|
|
int racecantalk(enum RACE rid);
|
2011-04-14 09:44:29 +10:00
|
|
|
int readytotrain(lifeform_t *lf);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
int recruit(lifeform_t *lf);
|
2011-04-14 09:44:29 +10:00
|
|
|
void refreshlevelabilities(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
void relinklf(lifeform_t *src, map_t *dst);
|
2012-03-27 21:49:23 +11:00
|
|
|
int resizelf(lifeform_t *lf, enum LFSIZE newsize, int doobs);
|
- [+] delvers should always want money for info, unless you are a
delver too.
- [+] mirror image (mental)
- [+] varpower
- [+] makes power 'clone' lfs who look the same as caster
- [+] ie. same race.
- [+] also same job/armour/weps?
- [+] add f_noxp
- [+] add f_nocorpse
- [+] add f_summonedby so they vanish when the caster dies
- [+] add f_phantasm
- [+] vanish after _power_ hits,
- [+] attacks do 0 damage
- [+] don't announce innefectual attacks
- [+] dont cast spells or use abilities
- [+] petify() them if made by the player
- [+] force them to stay close.
- [+] in io.c or getlfname, show "[clone]" if it has f_phantasm
and was created by player
- [+] mosnters try to attack them.
- [+] once one gets hit enough times, it disappears
- [+] if the caster dies or changes level, they disappear.
- [+] can't talk to them
- [+] their obejcts vanish when they die
- [+] don't talk
- [+] make Yumi more about forgiving silly mistakes and avoiding
instakills
- [+] remove liking of healing
- [+] remove like of healing spells
- [+] takes a long time to anger.
- [+] aviod traps (bamf you away before they trigger)
- [+] prayers:
- [+] resist stoning (pray while appropriate creatures around)
- [+] resist paralysis (pray while appropriate creatures around)
- [+] sleep on enemies
- [+] passive powers:
- [+] always warn as if wisdom is high (passive)
- [+] always save when killed right after using stairs
(passive) "well, that seemed unfair."
- [+] gift:
- [+] auto sixth sense
- [+] potions of restoration
- [+] ring of miracles
- [+] shouldn't be able to Offer while enraged.
- [+] don't lose stamina while caffeinated
- [+] new vault: pit with walkway around it
- [+] bug: when worshipping yumi you get "you kill xxx" but they're
still alive
- [+] ... but they're still alive!
- [+] ... for yumi, move KO chance from losehp() to attacklf().
- [+] do the check BEFORE setting 'fatal'
- [+] pass forceko to losehp_real
- [+] bug: adjustdamhardness should only trigger when ismeleedam() is
true, not isphysicaldam()
- [+] greatly reduce motel cost
- [+] change order in attack.c: apply damage THEN announce, to deal
with KO
- [+] do it.
- [+] test KO code.
- [+] then check that feign death still works
- [+] demonskin vest should be flammable or vulnerable to fire.
- [+] time to get up should depend on size.
- [+] less than human: shortnone
- [+] human: normal
- [+] larger than human: longer
- [+] expert unarmed now gives you 'flip'
- [+] reduce damage done by low-level monsters
- [+] change resoration into a spell
- [+] implement
- [+] test
- [+] new spell: ressurection
- [+] corpses need to remember their lf's level
- [+] test
- [+] godstone of life - revives/restores all
- [+] rename "confiscate" to "yoink", and make it take a random object
at power 1, selected at power 2
- [+] gods should attack player if they are Enraged or Furious
- [+] is STR calc to see if you can push a boulder still working?
- [+] change to wizards:
- [+] start at novice in all magic skills (but don't gain initial
spells)
- [+] killing undead should please glorana LOTS. because it's hard to
gain piety with her otherwise.
- [+] restoration spells/potion should hurt undead
- [+] healing spells/potions should hurt undead
- [+] immolate shouldnt work if there is aleady a fire tehre.
CODE FOR WINNING THE GAME:
- [+] get at least one godstone
- [+] exit the dungeon
- [+] find the portal to the realm of gods
- [+] opposing god should appear once you pick up a godstone, and tell
you what to do next.
- [+] "come to the realm of gods and use it to destroy (related
god)"
- [+] "or if you lack the courage, give it to me!"
- [+] "you will find a portal on the surface"
- [+] use the portal to teleport to realm of gods
- [+] implement text for all gods...
- [+] god text in wt_god - should say 'but you werent meant to replace
them!'
- [+] EITHER:
- [+] challenge and defeat the god related to this godstone (more
points. "Crowned the god of xxx.")
- [+] TEST
- [+] offer the godstone to the godstone's opposing god (less
points, "Ascended to demigod-hood.")
- [+] implement
- [+] TEST
GODSTONES:
- [+] klikirak: rage
- [+] done
- [+] (make this one have fire effects too)
- [+] glorana: life
- [+] Felix shouldn't be able to yoink the godstone off you!
- [+] Write up the rest of the Godstone finding text.....
- [+] magic
- [+] battle
- [+] life
- [+] mercy
- [+] you can't hurt gods unless you
- [+] a) have their godstone
- [+] b) are in the realm of gods
2012-02-17 16:16:45 +11:00
|
|
|
lifeform_t *ressurect(object_t *o);
|
2011-02-01 06:16:13 +11:00
|
|
|
int rest(lifeform_t *lf, int onpurpose);
|
2012-01-03 12:21:22 +11:00
|
|
|
void setskillused(lifeform_t *lf, enum SKILL skid);
|
- [+] dual wield, then weild -, say "y" to "weild nothing in your left
hand", CRASH.
- [+] rogue should start with novice speed and throwing
- [+] better method of sneaking - just hiding in one spot isn't
effective.
- [+] get "hide" at novice level
- [+] at beginner level, you can move while hiding. ( but if
someone hears you, they spot you)
- [+] if you can't see an object (ie in inventory it just comes up as
"a potion"), make the description be generic.
- [+] stealth shouldn't affect movement noise uless you are hiding
- [+] move slower when hiding.
- [+] trying to hide while already hiding will cancel it.
- [+] rename f_sneak to f_movecarefully
- [+] move "you attack the helpless xxx" into construct_hit_string.
- [+] light level should affect stealth checks.
- [+] flying should only impact stealth checks to make noise, not to
hide.
- [+] sprint should stop hiding!
- [+] weapon brand: of protection. gives AR.
- [+] make sure i show this in showlfarmour ]
- [+] shouldn't be able to backstab plants
- [+] no hiding while producing light.
- [+] changing armour should stop you from hiding.
- [+] let you hide when you can see monsters, but they instantly get
F_SPOTTED.
- [+] different verbs for god voices
- [+] remove "enhanced smell" from xat and dire rat.
- [+] make guns usually start with ammo
- [+] gain attrib point on _every_ levelup, but 2 each time not 5.
- [+] this means that we now gain 6 stat points every 3 levels
rather than 5, but they can be spread out.
- [+] rogue modifications
- [+] change starting backstab level from beginner -> novice
- [+] generated monsters: "It is sleeping. It is flying."
- [+] should be sleeping AND flying!
- [+] remove duplicate tanglemissile code.
- [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff
- [+] needs a "boostafter" param.
- [+] ie.
- [+] needs at least ATTREQ agility to USE it.
- [+] if you are less than this, start applying penalty.
- [+] v2 = BOOSTAFTER level. (CHANGE)
- [+] if you are above this amount, start applying bonus.
- [+] text = scalepercent. (CHANGE)
- [+] adjust code
- [+] adjust defs
- [+] explain in io.c
- [+] test
- [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
|
|
|
void spot_hiding_lf(lifeform_t *lf, lifeform_t *hider);
|
2011-11-03 09:34:15 +11:00
|
|
|
int startclimbing(lifeform_t *lf);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
int startresting(lifeform_t *lf, int willtrain);
|
|
|
|
int rollattr(enum ATTRBRACKET bracket);
|
2011-02-16 05:21:33 +11:00
|
|
|
int rollstat(lifeform_t *lf, enum ATTRIB attr);
|
2011-04-14 09:44:29 +10:00
|
|
|
int safetorest(lifeform_t *lf);
|
2011-05-20 06:30:58 +10:00
|
|
|
int say(lifeform_t *lf, char *text, int volume);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
int sayphrase(lifeform_t *lf, enum SAYPHRASE what, int volume, int val0, char *text);
|
* [+] F_prone if you're knocked down
- [+] make sheilds very good against projectiles
- [+] make smoke just REDUCE vision, not block it.
- [+] noncorporeal should stop grabs!
* [+] don't say 'a javelin is damaged' when you throw it, just apply
the damge
- [+] increase damage bonus with every lore level. +10% each time
(ie. up to 50% at top)
* [+] give accuracy + critical bonus for lore levles too
- [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle]
- [+] Show Pain on botl.
* [+] more staves
- [+] low hitpoint warning for pets (or make them shriek, whine, etc)
- [+] CRITKNOCKDOWN
* [+] FINISH GRIZZLY
- [+] undead should be immune to poison!!
- [+] make code to auto add flags to undead.
- [+] if you ever move a door (ie. airblast), automatically open it.
- [+] young wolf shouldn't be able to open a door!
* [+] You throw a dart at the carpet snake. Your dart misses
you.--More--
- [+] no sprinting while burdneed
- [+] blood should be drawn BELOW stairs
- [+] weilded torch should do 1d4 fire damage (counts as a club)
* [+] The skeleton touches a leather belt then recoils in pain!The
skeleton drops a blessed leather belt.The skeleton puts on a
leather belt.
- [+] don't show "you can cast it at power level xxx" for abilities
* [+] more item randomising
- [+] make grey ooze splatter into acid
- [+] "the vine grabs you" if you walk onto an entangling vine.
- [+] don't start monsters within player's los
- [+] properly randomise sticks to snakes
- [+] stirge
- [+] leech (like stirge but can charge/leap, and slightly more hp /
damage)
- [+] treesnake
- [+] constrictor
- [+] cobra
- [+] stickes to snakes - make caster's weapon revert.
- [+] A something comes into view.
- [+] is invisibility code working properly when you see someone use
the invis spell?
- [+] don't include cosmetic objects in 'you see xxx'
* [+] monsters: don't use spells if you don't have lof.
- [+] pets not following around corners if you move diagonally. fixed a
little.
- [+] summon small animals (2-3 x SZ_SMALL)
* [+] jet of water
- [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc)
- [+] lightning storm (lightbning everyone within los, and more damage)
- [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
|
|
|
int scare(lifeform_t *lf, lifeform_t *scarer, int howlong, int scarerbonus);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
//int setammo(lifeform_t *lf, object_t *o);
|
- [+] non-player insects should never be able to break out of a web.
- [+] stench should still affect non humanoid/animals if they have
f_enhancesmell
- [+] bug: god of fire should only be pleased by kills if you used fire.
- [+] luck should affect whether you gain abils from eating corpses
- [+] lower weight of four leaf clover
- [+] bug: when dungeon had different wall type selected, still got
scattered rock walls
- [+] death spells shouldn't please hecta if they fail
- [+] bjorn should restore stamina when you pray
- [+] show your score when you didn't make the hiscore table.
- [+] eating corpses for resistances
- [+] f_eatconfer on race defs. fill in text for stacking, ie.
resist becomes immunity if you already ahve it.
- [+] must have f_mutable.
- [+] have to eat mutant corpse first to enable this.
- [+] you gain f_mutable.
- [+] "Your body feels ready for mutation."
- [+] thereafter......
- [+] for resistances, you first take maxhp/2 damage of the same
type (with chance to ko rather than kill)!
- [+] inherited by corpses
- [+] eat shadowcat to see through smoke? this replaces the
temporary smoke creation effects.
- [+] add to some lfs
- [+] dtresist (elemental based)
- [+] attrmod (wyrm or giant corpses)
- [+] when you create a new corpse object, take EATCONFERS from
race!
- [+] store owners shouldn't let you in if you have f_stench
- [+] if you pick up a non-magical object (ie. a potion of water), and
have detect magic, and it's not magic...you know it's uncursed,
+0, etc.
- [+] (assuming pot_water is known)
- [+] other effects of alignment
- [+] areenemies()
- [+] good:
- [+] other good creatures are still "peaceful" (remove
f_hostile on creation)
- [+] evil creatures are always hostile (even npcs) (add
this flag in addlf())
- [+] no xp for attacking peaceful
- [+] neutral: nothing special
- [+] no xp for attacking peaveful
- [+] evil:
- [+] still get xp for attacking peaceful
- [+] good creatures are always hostile (add this flag in
addlf())
- [+] show alignment in @. maybe after "Race: xxx"
- [+] add random alignments to some humanoid races
- [+] should be able to jsut use f_align al_none "gne"
- [+] lizardman
- [+] all the playable races
- [+] bonus when 'c'hating to your own alignment npcs
- [+] move alignment question to givejob(), and make it random for
mosnters
- [+] add alignment to gods
- [+] sandman - puts you to sleep. OR has lots of sleeping dust.
- [+] glyph: brown 'y'
- [+] miniature tornado of sand, humanoid visible inside
- [+] can cast sleep, range 1 (or 2 and need lof?)
- [+] corpse: smoke and sleeping dust?
- [+] no attack.
- [+] low hitdice (2)
- [+] fairly high ar (10)
- [+] madeof dirt
2012-02-10 17:44:12 +11:00
|
|
|
void setalignment(lifeform_t *lf, enum ALIGNMENT al);
|
2011-02-01 06:16:13 +11:00
|
|
|
void setattr(lifeform_t *lf, enum ATTRIB attr, int val);
|
2011-11-23 08:32:10 +11:00
|
|
|
void setbodypartname(race_t *r, enum BODYPART bp, char *name);
|
|
|
|
void setbodytype(race_t *r, enum BODYTYPE bt);
|
2011-09-12 09:52:14 +10:00
|
|
|
int setfacing(lifeform_t *lf, int dir);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
void setfollowdistance(lifeform_t *lf, int min, int max);
|
2011-02-01 06:16:13 +11:00
|
|
|
void setguntarget(lifeform_t *lf, lifeform_t *targ);
|
2012-03-06 21:47:26 +11:00
|
|
|
void sethomeroom(lifeform_t *lf);
|
2011-10-19 10:08:14 +11:00
|
|
|
void setkillverb(lifeform_t *lf, char *buf);
|
2011-04-11 15:05:45 +10:00
|
|
|
void setrace(lifeform_t *lf, enum RACE rid, int frompolymorph);
|
2011-02-01 06:16:13 +11:00
|
|
|
void setlastdam(lifeform_t *lf, char *buf);
|
2011-03-25 12:23:15 +11:00
|
|
|
//void setlftarget(lifeform_t *lf, lifeform_t *victim);
|
- [+] when something grabs you, show an 'X' in its location so you know
SOMETHING is there.
- [+] do this in getscannedthing . glyph = 'X'
- [+] make grabbing force a redraw if the target is the player!!
- [+] fix crash for fountain of ambrosia (because potion name starts
with 'vial' not 'potion')
- [+] show X for latched on monsters too
- [+] and make latching onto the player force a redraw too
- [+] chnage f_rage flag redraw to be done in flagcausesredraw()
- [+] shop bugs
- [+] bug: food vendor only had 3 pieces of food
- [+] bg: jewellery store had no items!!
- [+] getrandomobject bug
- [+] bug - wantrr too low!!!
- [+] if wantrr gets to 0 and still nothing, start ticking up from
original value.
- [+] bug: rings cost $0
- [+] need a warning before invisibility runs out
- [+] make most recipe food heal you a bit
- [+] if interrupted halfway through training, remember where we were
up to
- [+] instead of using F_TRAINING->val[2], use F_TRAINING->val[0]
(v1 is the goal)
- [+] when you start resting, if you don't already have it, add it:
- [+] v1 = 50;
v1 = modifybystat(traincounter, player,
A_IQ);
- [+] v0 = 0
- [+] if you DO have it, drop v0 by 25 modified by IQ. minimum
of 0.
- [+] when you train, INC the counter, don't dec it.
- [+] when v0 = v1, your'e done.
- [+] when you finish training, kill the flag.
- [+] shadowcat meat - produce and see through smoke
- [+] split aimove up into sections
- [+] emergencies
- [+] healing
- [+] housekeeping
- [+] inventory mgt urgent
- [+] attacks
- [+] pre-movement
- [+] movement along existing paths
- [+] boredom
- [+] go back to my shop
- [+] look for something to attack
- [+] gods go home
- [+] training
- [+] inventory_mgt_nonurgent
- [+] repairing armour - move this to inventory mgt??
- [+] snakes "slither into a wall", not walk. use F_WALKVERB
- [+] animate stone spell - turn statues to pets.
- [+] can't be both a vegetarian and carnivore! race overrides job.
2011-11-24 09:10:08 +11:00
|
|
|
int setlfmaterial(lifeform_t *lf, enum MATERIAL id, int wantannounce);
|
- [+] make "fear" be used to flee, not attack
- [+] CRASH in linkexit()
- [+] make most monsters either have sk_perception at least novice.
- [+] show success rate when studying scrolls
- [+] bug: unable to drink from fountains anymore
- [+] always use multidrop - this will free up 'D'
- [+] forest tree cluster maps are not working - only a single tree in
each cluster!
- [+] crash - ghost adding footprint to solid cell!
- [+] amberon's wrath for attacking peaceful should happen once per
ATTACK, not once per HIT
- [+] show cells outside LOS as blue or darkgrey
- [+] Don't place normal rooms next to the edge of the map either!!
- [+] getradiuscells(scatter) needs an option to include density
- [+] then make absolute zero have high density
* [+] summoning spells on pentagram will summon a demon instead
- [+] "confusion" / "baffle" mental spell - l2
- [+] add 'concussion' injury (head bash) - confusion effect.
- [+] iswoozy checks for this.
- [+] severed limbs -"frominjury" so taht you can heal them
- [+] linkexit() needs to be able to handle making THREE turns:
- [+] when looking for turnpos, remember each up/down celll
- [+] if we don't find one ("annot find a way to link up") , go
through each up/down cell and look left/right
- [+] fix is in place.
- [+] tested.
- [+] bug: doors being placed on top of rock walls!!! think this is
related to fix_deadends.
- [+] assert statement added.
* [+] bug: no up stairs generated on first dungeon map! was being
removed by clearcell() for overlapping rooms.
- [+] mass stun spell - l4. stuns all in los ?
* [+] make "stun" / massstun durations be 2-4 depending on power
- [+] "restricted" jobs/races?
- [+] don't put shopkeepers in pubs
- [+] make a per-map maxvisrange. the deeper you go, the lower this
gets (ie . it is darker, less ambientlight)
- [+] limit getvisrange(lf) by getmapmaxvisrange()
- [+] map->habitat->maxvisrange. set this during createhabitat()
- [+] reduce maxvisrange
- [+] reduce it to 6
- [+] why can i still see 1 cell?
- [+] why can i still always see my own cell?
- [+] when in pitch black for a certain amount of time, your vision
adjusts to maxrange=1
- [+] ie. getnightvisrange(lf) should be modified by
lf->eyeadjustment
- [+] reset if you can ever see a lit cell.
- [+] when this happens to the player:
- [+] msgs about this
- [+] also force light recalc
- [+] only recalc light when dirty
- [+] if we call "haslos()" for a lf and they have losdirty,
precalclos first.
- [+] vis range problems
- [+] sunglasses/footballhelm visrangereduce isn't working anymore
- [+] it's reducing maxvisrange(lf).
- [+] BUT - my maxvisrange is 5, which is still higher than the
ambient range.
- [+] need to apply reductions AFTER ambient light
- [+] NOW eyeadjustment isn't working. because cell lit is
l_temp, not l_notlit.
- [+] but if this is the case, why can't i see? anwer: because
my visrange has been reduced to 0 due to no ambient light!
- [+] so.... how do i make lightt sources override this?
- [+] maybe say: if a cell is lit, i can see it, even if it's
outside my ambient light.
- [+] falling over isn't reducing your visrange anymore
- [+] why doesn't eyeadjust make the screen update?
- [+] is regular "haslos" code ever used anymore????
- [+] now i can't see lit cells in the darkness again....fixed
- [+] after you calm something, give it xpval0
- [+] show message when calm animals fails
- [+] check all spell sc_resistmag oskillcheck difficulties
- [+] diff should be 20 + (spelllev*2) + power
- [+] l1 spell should be diff 20
- [+] l2 should be diff 24
- [+] ...
- [+] l7 should be diff 34
- [+] bleeding injuries should make armour "bloodstained" (5% chance
per turn)
- [+] msgs for "the sun is starting to set" and "the sun is starting to
rise"
- [+] make 6am, 18pm be constants
- [+] add crushed windpipe - lower Fitness, cannot sprint
* [+] CRASH when going down stairs! another overlapping room bug i
think.
- [+] cockatrices and chickens should cluck
- [+] canwill param: race:xxx;
- [+] define it
- [+] use this in "createmonster"
- [+] use this in "polymorph" when on self
- [+] then remove f_forcepoly
- [+] TEST
- [+] make playerstart vaults able to appear randomly (just don't place
the the "playerstart" object)
- [+] redo texttospellopts() to make it more friendly
- [+] give a list of what we want as args, rather than passing lots
of nulls
- [+] "pw:", &localpowervar etc
- [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during
losehp.
- [+] rename turneffectslf() to startlfturn()
- [+] show hunger level as a bar in @@
- [+] warn before becoming burdened.
- [+] warn when you ARE burdened. at the end of moveob()
- [+] l6 - absolute zero (turn everyone around you to ice, freeze all
obs, turn ground to ice)
- [+] some monsters leave non-meat food behind?
- [+] cactus -> cactus juice/fruit
- [+] dreamfungus -> sleeping powerder
- [+] silver weapons (5% chance on eligible weapons)
- [+] hurt vampires
- [+] vulnerable to mat??? - then use fromob in losehp()
- [+] f_matvuln mt_xxx multiplier
- [+] add some silver weapons
- [+] f_canbediffmat mt_silver 10%
- [+] if f_canbediffmat is true, sometimes change material to
this on creation
- [+] getobname - if material is differnet, show this
- [+] dagger
- [+] sword
- [+] arrow
- [+] bolt
- [+] dart
- [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
|
|
|
void setlosdirty(lifeform_t *lf);
|
2011-11-02 07:35:50 +11:00
|
|
|
void setstamina(lifeform_t *lf, float howmuch);
|
2011-02-01 06:16:13 +11:00
|
|
|
int shoot(lifeform_t *lf);
|
2012-03-27 07:21:43 +11:00
|
|
|
int getskillcheckchance(lifeform_t *lf, enum CHECKTYPE ct, int diff, int mod) ;
|
2011-03-04 12:22:36 +11:00
|
|
|
int skillcheck(lifeform_t *lf, enum CHECKTYPE ct, int diff, int mod);
|
2011-03-10 16:47:18 +11:00
|
|
|
int real_skillcheck(lifeform_t *lf, enum CHECKTYPE ct, int diff, int mod, int *result);
|
|
|
|
int skillcheckvs(lifeform_t *lf1, enum CHECKTYPE ct1, int mod1, lifeform_t *lf2, enum CHECKTYPE ct2, int mod2);
|
2011-03-04 12:22:36 +11:00
|
|
|
int slipon(lifeform_t *lf, object_t *o);
|
2011-02-01 06:16:13 +11:00
|
|
|
void sortlf(map_t *map, lifeform_t *lf);
|
- [+] make "fear" be used to flee, not attack
- [+] CRASH in linkexit()
- [+] make most monsters either have sk_perception at least novice.
- [+] show success rate when studying scrolls
- [+] bug: unable to drink from fountains anymore
- [+] always use multidrop - this will free up 'D'
- [+] forest tree cluster maps are not working - only a single tree in
each cluster!
- [+] crash - ghost adding footprint to solid cell!
- [+] amberon's wrath for attacking peaceful should happen once per
ATTACK, not once per HIT
- [+] show cells outside LOS as blue or darkgrey
- [+] Don't place normal rooms next to the edge of the map either!!
- [+] getradiuscells(scatter) needs an option to include density
- [+] then make absolute zero have high density
* [+] summoning spells on pentagram will summon a demon instead
- [+] "confusion" / "baffle" mental spell - l2
- [+] add 'concussion' injury (head bash) - confusion effect.
- [+] iswoozy checks for this.
- [+] severed limbs -"frominjury" so taht you can heal them
- [+] linkexit() needs to be able to handle making THREE turns:
- [+] when looking for turnpos, remember each up/down celll
- [+] if we don't find one ("annot find a way to link up") , go
through each up/down cell and look left/right
- [+] fix is in place.
- [+] tested.
- [+] bug: doors being placed on top of rock walls!!! think this is
related to fix_deadends.
- [+] assert statement added.
* [+] bug: no up stairs generated on first dungeon map! was being
removed by clearcell() for overlapping rooms.
- [+] mass stun spell - l4. stuns all in los ?
* [+] make "stun" / massstun durations be 2-4 depending on power
- [+] "restricted" jobs/races?
- [+] don't put shopkeepers in pubs
- [+] make a per-map maxvisrange. the deeper you go, the lower this
gets (ie . it is darker, less ambientlight)
- [+] limit getvisrange(lf) by getmapmaxvisrange()
- [+] map->habitat->maxvisrange. set this during createhabitat()
- [+] reduce maxvisrange
- [+] reduce it to 6
- [+] why can i still see 1 cell?
- [+] why can i still always see my own cell?
- [+] when in pitch black for a certain amount of time, your vision
adjusts to maxrange=1
- [+] ie. getnightvisrange(lf) should be modified by
lf->eyeadjustment
- [+] reset if you can ever see a lit cell.
- [+] when this happens to the player:
- [+] msgs about this
- [+] also force light recalc
- [+] only recalc light when dirty
- [+] if we call "haslos()" for a lf and they have losdirty,
precalclos first.
- [+] vis range problems
- [+] sunglasses/footballhelm visrangereduce isn't working anymore
- [+] it's reducing maxvisrange(lf).
- [+] BUT - my maxvisrange is 5, which is still higher than the
ambient range.
- [+] need to apply reductions AFTER ambient light
- [+] NOW eyeadjustment isn't working. because cell lit is
l_temp, not l_notlit.
- [+] but if this is the case, why can't i see? anwer: because
my visrange has been reduced to 0 due to no ambient light!
- [+] so.... how do i make lightt sources override this?
- [+] maybe say: if a cell is lit, i can see it, even if it's
outside my ambient light.
- [+] falling over isn't reducing your visrange anymore
- [+] why doesn't eyeadjust make the screen update?
- [+] is regular "haslos" code ever used anymore????
- [+] now i can't see lit cells in the darkness again....fixed
- [+] after you calm something, give it xpval0
- [+] show message when calm animals fails
- [+] check all spell sc_resistmag oskillcheck difficulties
- [+] diff should be 20 + (spelllev*2) + power
- [+] l1 spell should be diff 20
- [+] l2 should be diff 24
- [+] ...
- [+] l7 should be diff 34
- [+] bleeding injuries should make armour "bloodstained" (5% chance
per turn)
- [+] msgs for "the sun is starting to set" and "the sun is starting to
rise"
- [+] make 6am, 18pm be constants
- [+] add crushed windpipe - lower Fitness, cannot sprint
* [+] CRASH when going down stairs! another overlapping room bug i
think.
- [+] cockatrices and chickens should cluck
- [+] canwill param: race:xxx;
- [+] define it
- [+] use this in "createmonster"
- [+] use this in "polymorph" when on self
- [+] then remove f_forcepoly
- [+] TEST
- [+] make playerstart vaults able to appear randomly (just don't place
the the "playerstart" object)
- [+] redo texttospellopts() to make it more friendly
- [+] give a list of what we want as args, rather than passing lots
of nulls
- [+] "pw:", &localpowervar etc
- [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during
losehp.
- [+] rename turneffectslf() to startlfturn()
- [+] show hunger level as a bar in @@
- [+] warn before becoming burdened.
- [+] warn when you ARE burdened. at the end of moveob()
- [+] l6 - absolute zero (turn everyone around you to ice, freeze all
obs, turn ground to ice)
- [+] some monsters leave non-meat food behind?
- [+] cactus -> cactus juice/fruit
- [+] dreamfungus -> sleeping powerder
- [+] silver weapons (5% chance on eligible weapons)
- [+] hurt vampires
- [+] vulnerable to mat??? - then use fromob in losehp()
- [+] f_matvuln mt_xxx multiplier
- [+] add some silver weapons
- [+] f_canbediffmat mt_silver 10%
- [+] if f_canbediffmat is true, sometimes change material to
this on creation
- [+] getobname - if material is differnet, show this
- [+] dagger
- [+] sword
- [+] arrow
- [+] bolt
- [+] dart
- [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
|
|
|
void startlfturn(lifeform_t *lf);
|
2011-06-29 18:48:48 +10:00
|
|
|
int steal(lifeform_t *lf, obpile_t *op, enum FLAG wantflag);
|
2011-03-04 12:22:36 +11:00
|
|
|
int stone(lifeform_t *lf);
|
2011-11-02 12:10:50 +11:00
|
|
|
int stopclimbing(lifeform_t *lf, int onpurpose);
|
* [+] need to set "needredraw" every time we exit:
- [+] make eating take longer - depends on lf size and food sizes
* [+] stop eating if something attacks you!
- [+] change spell code to cope with caster = NULL!!
- [+] why are rooms never more than 2 high
* [+] traps
* [+] eating bug again
* [+] disarm trap skill?
- [+] lots of needredraw bugs
- [+] bug with cursor jumping around lots
- [+] draw darkened visible cells in blue
* [+] shadow cloak
- [+] tree shouldn't prevent resting!
- [+] make plants not attack druids
* [+] cooking
- [+] stop eating if your eating object is no longer with you
* [+] FLAG CORRUPTION BUG
- [+] pet walking back and forth on rotted objects
- [+] purified food shouldn't decay anymore.
- [+] plants shouldn't sleep
- [+] RESTING on statbar not being cleared. the add of f_interrupted
was clearing statdirty before f_asleep got removed in killflag().
- [+] AI: don't eat if in battle
- [+] reduce projectile damage
- [+] show raceclass in statbars
- [+] smoke should make you cough.
- [+] when going up levle, only prompt for spells you can cast?? (don't
show "NOTCASTABLE")
- [+] Your young hawk dies. The stirge releases something!
- [+] sleeping thigns shoudn't follow you up/down stairs.
- [+] when throw'ng an object, don't let it stack (otherwise we might
destroy too much)
- [+] don't draw "c - " for nopickup objects.
- [+] saving throw for traps if you know about it.
- [+] druid - get xp for calming animals
- [+] rogue- get xp for picking locks, disarming traps.
- [+] metal should be immune to most damage types
* [+] make heavy blow need HEAVY weapon, not bashing.
- [+] can't rest/train while levitating!
- [+] gas traps only go off once.
- [+] bug: The goblin throws a boulder at you. A boulder misses you.
- [+] don't give short sword skill to wizard.
- [+] hearing range based on listen skill
* [+] coldness disease:
- [+] CRASH when swapping places
- [+] bug: i can teleport into an impassable object!
- [+] add: "really target (your ally)?"
- [+] give wizards school-based skill instead of manaspike + wildmagic
- [+] LevUp still not being cleared!!!
* [+] why is air wizard being prompted for call lightning at level 2???
* [+] summon weapon (summoning)
- [+] hold portal (mod)
- [+] reveal hidden
- [+] stench (death)
- [+] frostbite (minor but direct cold damage. 1dpower. maxpower 3)
- [+] grease (modific) creates oil in a circle
- [+] fear (death)
- [+] seeinvis (div)
- [+] locate obejct (div) tells you where a seen objcet is.
- [+] swap places (transl) "twiddle"
- [+] fire brand (fire, melee attaks deal fire damage)
- [+] iceedge
- [+] lore (div, temporary knowledge from a particular school?)
- [+] icicle (cold, deals cold dam and knocks enemies away)
* [+] chill (ice, 1d3 damage per exposed body part)
- [+] hail storm (ice, big damage in area)
- [+] wall of ice (creates icy wall, hp based on power)
2011-05-12 11:49:35 +10:00
|
|
|
void stopeating(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
void stopresting(lifeform_t *lf);
|
|
|
|
void stoprunning(lifeform_t *lf);
|
2011-06-05 19:21:21 +10:00
|
|
|
void stopsprinting(lifeform_t *lf);
|
2011-08-24 18:15:09 +10:00
|
|
|
int stun(lifeform_t *lf, int nturns);
|
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!!
- [+] blink should go to random place within lof, not los
- [+] sunglasses shuld reduce nightvis range, not visrange
* [+] since jolt needs adjacency, make it more powerful
- [+] use colours for spell descriptions
- [+] replace 'call wind' with 'zephyr'
* [+] add vault commonality.
- [+] add more common vaults - roundabout etc
* [+] change "addmonster" to take a string arg instrad of RACEID
- [+] pouring cursed water on blessed scroll didn't work.....
- [+] append "...god of xxx" to rc_god lifeforms
- [+] try to attack with f_pain -> INFINITE LOOP.
- [+] ARMOURPIERCE shouldn't hurt armour
- [+] ghast touchparalyze attack isn't working.
* [+] bug: when praying to gods, ones not in heaven aren't listed.
- [+] when a god apepars..."Hecta appears" x2
- [+] attacking fleeing lf should count as a backstab (if you have the
skill)
* [+] "nothing happens" during god spell effects
* [+] allow hunger to work on monsters
- [+] pressing 'a' on @Magic has weird results.
- [+] bug: got a gift form yumi during combat???? what for? healing?
initial vampire implementation
initial god implementation
- [+] they all start off in "heaven" map.
- [+] gods ahve f_piety. starts at 0
- [+] keep track of piety with each god. starts at 0 for each one.
* [+] let planeshift take you to heaven (for debugging)
* [+] everyone has 'pray' ability.
- [+] modpiety(rid, amt)
* [+] piety vals
* [+] when you pray
- [+] isangry(god) - ie is piety < 0
* [+] if you pray when god is angry, bad!
* [+] once piety gets over 200 or so, praying might give you a gift.
* [+] god_appears(lifeform_t *victim)
- [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per
turn).
- [+] regain through doing actions ... in progress
- [+] lose through doing actions only if you have prayed to this god
before (angergodmaybe)
- [+] special: gods don't need LOS to cast spells.
- [+] gods planeshift away if not doing anything else.
* [+] @g to see your piety levels for each god
- [+] ?g for help on gods
- [+] IN general:
- [+] prey = oneoff effect
- [+] gift = ongoing
* [+] makeangry() vs modpiety
* [+] Yumi - fem,mercy/healing - if you die within the first few turns!
Hecta - partial
Avamon - partial
2011-08-04 04:43:05 +10:00
|
|
|
lifeform_t *summonmonster(lifeform_t *caster, cell_t *c, enum RACE rid, char *racename, int lifetime, int wantfriendly);
|
* [+] make vending machines use this container code instead.
- [+] don't say "you see a few things" if one of them is footsteps
* [+] IFMONSTER code failing....because flags are now SORTED!!!
- [+] tumble - askcoords is letting us pick a cell we don't have lof to.
* [+] assign a name to lfs once you hire them
* [+] coloured msgtext
- [+] make min dam reduction from AR be AR/5.
- [+] safebox
- [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with
no getsweaker (val1)
* [+] make fire / ice damage mor elike netheck
- [+] towns should have gates on EVERY side
- [+] forest cells outside town gates need to be CLEARED. (maybe turn
to dirt)
- [+] fix up knock targetting to include magical barriers
- [+] say "open a bag?" not "operate a bag?"
* [+] implement immunetodisease
- [+] sort known skills in @s.
- [+] better damage bonus when attacking someone who is asleep
- [+] practive firearms/throwing
* [+] need objecttype->size
* [+] containers
* [+] change guns so you have to reload them. ("operate")
- [+] crash when loading map with water
- [+] SAVE OBJECT CONTENTSk
- [+] monsters with jobs aren't getting start items
- [+] shopkeeper has shotgun
- [+] bug: monster keeps swapping between shotgun and flail
- [+] when hiring, remember failure.
* [+] Inn
- [+] bug: pets fighting!!! then they all turn on you. never make
allies get angry unless the attacker is the player
* [+] hiring npcs
- [+] chat to pet: "stay close" or "keep your distance"
- [+] new 'furniture' obclass
- [+] allow for 'randomshop' regiontype
* [+] add enchantment school
- [+] cast a scroll of mending on itself. CRASH.
* [+] lessengravity should make you jump better and get knocked back
further
- [+] boostgrav/lessengrav cancel out each other.
* [+] CRASH when you fall down a hole and die.
- [+] problem: master gravitation doesn't let us cast levitat.
getspellschoolknown() should return the HIGHEST known skill, not
the first.
* [+] bug: dregion is null?!??!
* [+] dig a pit, if you cleared out land below, you just stay down
there.
- [+] potion of leveitation
- [+] warning msg when levitate is about to expire
* [+] if you fall upwards to the surface...
* [+] if you are ever on the surface while levitating....
- [+] BUG: cna't go up stairs to surface anymore!!!!!
- [+] get hungry LOTS more quickly when you start sprinting
* [+] monk slow metabolism psionic pell.
- [+] fix buf with lore giving LESS accuracy instead of more.
- [+] food shop
- [+] wand of digging not identified if you dig upwards
* [+] when you make ah ole in the roof, objects above should fall
through right away
* [+] all towns should have:
- [+] give monks more psionics spells.
- [+] sk_throwing skill
- [+] make calm animals use spellpower
* [+] add wisdom
* [+] need to save region data along with maps
* [+] COMBINE armour evasion and accuracy penalty!!!
* [+] make armour reduce accuracy as well (unless you have 'armour'
skill)
- [+] landmine trap
* [+] make friendly monsters of same raceclass swap ammo
- [+] rename 'pull' to 'suck' to avoid confusion with pull metal
* [+] food to fix blindness
- [+] potion of coffee
* [+] genericise statbrackets
* [+] tumble ability
* [+] simplify spell power
* [+] shopkeeprs should be allowed to pursue targets outside of the
shop.
- [+] give shopkeepers a shotgun
* [+] make F_RNDHOSTILE be able to ahve a random chance.
* [+] if you randomly generate food in a shop, still give it a price.
- [+] if peaceful humanoid walks into you, "sorry!"
- [+] sayphrase(lf, SP_SORRY, vol)
- [+] only let you recruit jobs with j_recruitable
- [+] CRASH - summon "monk"
- [+] dogs,
- [+] chickens,
- [+] drunks,
* [+] village objects
- [+] change armourrating AGAIN. instead of a percentage, make it a
number.
- [+] rename inn to "pub", since you can't sleep there.
* [+] random speech code
* [+] genericise sayphrase text based on lf's job
* [+] monks - add rest of abliities
- [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
|
|
|
//int testammo(lifeform_t *lf, object_t *o);
|
2011-02-01 06:16:13 +11:00
|
|
|
int takeoff(lifeform_t *lf, object_t *o);
|
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through
"reflexive dodging" ability
- [+] first rotation in a turn takes no time
- [+] exploit: if you walk diagonally next to a monster, it moves to
your previous space!
- [+] fix: aigetlastknownpos should return the cell that trails
point to, not the cell _with_ the trails.
- [+] only recognise weapon quality (masterwork etc) if you are skilled
in that weapon or perception
- [+] cope with mosnter necromancers, etc
- [+] parserace should look for necromancer etc.
- [+] if so, set "wantsubjob" to SJ_NECROMANCER etc
- [+] move specialty mage code into "givejobspecialty"
- [+] Make wizard's job name depend on primary spell school.
- [+] "Demonologist", "Firemage", "Icemage", "Necromancer",
"Skymage", "Wizard" (wild)
- [+] instead of getjob() then j->name, use "getjobname(lf)"
- [+] f_jobname
- [+] i should never "hear voices chanting" from an abandoned temple
- [+] for monsters, show "its bite inflicts poison" in io.c racial
knowledge
- [+] casting healing on myself pleased Glorana twice!
- [+] one from casting a life spell
- [+] one from casting healing.
- [+] move ones from spell.c to castspell()
- [+] new flag: f_pleasesgod v0=godid, v1=howmuch
- [+] add to other spell objects:
- [+] f_pleasesgod
- [+] GODFIRE - spelllevel * 2
- [+] GODDEATH = spelllevel
- [+] GODLIFE = spelllevel*2
- [+] GODNATURE: spelllevle*2
- [+] show this in describespell
- [+] for god healing effects, use gainhp() so that it says "Your HP is
fully restored."
- [+] change F_RESISTMAG to be percentage rather than 1-20
- [+] make some gods' pleasure boost power of related spells
- [+] 1 per each positive levle of getpietylev()
- [+] glorana: life
- [+] hecta: death
- [+] only apply auto shortcuts for players.
- [+] subjob_t
- [+] addsubjob()
- [+] killsubjob()
- [+] show subjobs in job descriptions.
- [+] data.c: addsubjob(....
- [+] in job defs:
- [+] f_canhavesubjob sj_xxx
- [+] use this to determine whether to ask about them
- [+] redo getjobname
- [+] remove f_job->Text
- [+] speak with dead should only work on corpses of races which can
talk.
- [+] warrior subclasses
- [+] "Scourge"
- [+] gains magic resistance as you level up
- [+] == 5 + (level * 3) %
- [+] nospells
- [+] no mana
- [+] paladin
- [+] blessed gear
- [+] can will turn undead
- [+] healing magic
- [+] god = glorana.
- [+] cannot use spells if glorana is angry.
- [+] battlemage
- [+] starts with one spell school (fire/ice/air)
- [+] canlearn fire/ice/air spell schools
- [+] limited to adept in all schools
- [+] slightly less hp
- [+] no warrior abilities
2012-02-24 17:45:23 +11:00
|
|
|
void takerotationtime(lifeform_t *lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
void taketime(lifeform_t *lf, long howlong);
|
|
|
|
int throwat(lifeform_t *thrower, object_t *o, cell_t *where);
|
|
|
|
void timeeffectslf(lifeform_t *lf);
|
2012-01-21 11:35:04 +11:00
|
|
|
int tradeknowledge(lifeform_t *lf);
|
2012-02-03 16:55:19 +11:00
|
|
|
int tryclimb(lifeform_t *lf, cell_t *where, char *towhat, int onpurpose);
|
2011-02-01 06:16:13 +11:00
|
|
|
int touch(lifeform_t *lf, object_t *o);
|
2011-09-12 09:52:14 +10:00
|
|
|
void turntoface(lifeform_t *lf, cell_t *dstcell);
|
2012-01-12 12:28:07 +11:00
|
|
|
void unequipeffects(lifeform_t *lf, object_t *o);
|
2011-04-14 09:44:29 +10:00
|
|
|
void unpoison(lifeform_t *lf);
|
2011-06-20 13:16:30 +10:00
|
|
|
void unsummon(lifeform_t *lf, int vanishobs);
|
2011-02-01 06:16:13 +11:00
|
|
|
int unweild(lifeform_t *lf, object_t *o);
|
2011-03-04 12:22:36 +11:00
|
|
|
int useability(lifeform_t *lf, enum OBTYPE aid, lifeform_t *who, cell_t *where);
|
2011-04-06 17:27:55 +10:00
|
|
|
int useringofmiracles(lifeform_t *lf, int charges);
|
2011-11-03 09:34:15 +11:00
|
|
|
int usestairs(lifeform_t *lf, object_t *o, int onpurpose, int climb);
|
2011-02-01 06:16:13 +11:00
|
|
|
int validateraces(void);
|
2011-12-20 19:03:15 +11:00
|
|
|
void wakeup(lifeform_t *lf, int howmuch);
|
2011-02-01 06:16:13 +11:00
|
|
|
int wear(lifeform_t *lf, object_t *o);
|
|
|
|
int weild(lifeform_t *lf, object_t *o);
|
- [+] dual wield, then weild -, say "y" to "weild nothing in your left
hand", CRASH.
- [+] rogue should start with novice speed and throwing
- [+] better method of sneaking - just hiding in one spot isn't
effective.
- [+] get "hide" at novice level
- [+] at beginner level, you can move while hiding. ( but if
someone hears you, they spot you)
- [+] if you can't see an object (ie in inventory it just comes up as
"a potion"), make the description be generic.
- [+] stealth shouldn't affect movement noise uless you are hiding
- [+] move slower when hiding.
- [+] trying to hide while already hiding will cancel it.
- [+] rename f_sneak to f_movecarefully
- [+] move "you attack the helpless xxx" into construct_hit_string.
- [+] light level should affect stealth checks.
- [+] flying should only impact stealth checks to make noise, not to
hide.
- [+] sprint should stop hiding!
- [+] weapon brand: of protection. gives AR.
- [+] make sure i show this in showlfarmour ]
- [+] shouldn't be able to backstab plants
- [+] no hiding while producing light.
- [+] changing armour should stop you from hiding.
- [+] let you hide when you can see monsters, but they instantly get
F_SPOTTED.
- [+] different verbs for god voices
- [+] remove "enhanced smell" from xat and dire rat.
- [+] make guns usually start with ammo
- [+] gain attrib point on _every_ levelup, but 2 each time not 5.
- [+] this means that we now gain 6 stat points every 3 levels
rather than 5, but they can be spread out.
- [+] rogue modifications
- [+] change starting backstab level from beginner -> novice
- [+] generated monsters: "It is sleeping. It is flying."
- [+] should be sleeping AND flying!
- [+] remove duplicate tanglemissile code.
- [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff
- [+] needs a "boostafter" param.
- [+] ie.
- [+] needs at least ATTREQ agility to USE it.
- [+] if you are less than this, start applying penalty.
- [+] v2 = BOOSTAFTER level. (CHANGE)
- [+] if you are above this amount, start applying bonus.
- [+] text = scalepercent. (CHANGE)
- [+] adjust code
- [+] adjust defs
- [+] explain in io.c
- [+] test
- [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
|
|
|
int willbackstab(lifeform_t *lf, lifeform_t *victim, object_t *wep);
|
2011-09-13 09:52:21 +10:00
|
|
|
int willbleedfrom(lifeform_t *lf, enum BODYPART bp);
|
2011-09-28 04:56:58 +10:00
|
|
|
int willburden(lifeform_t *lf, object_t *o, int howmany);
|
2012-01-06 11:20:57 +11:00
|
|
|
int willeatlf(lifeform_t *eater, lifeform_t *eatee);
|
2011-03-24 16:09:31 +11:00
|
|
|
//int youhear(cell_t *c, char *text);
|