2011-02-01 06:16:13 +11:00
|
|
|
#include <assert.h>
|
2011-05-20 06:30:58 +10:00
|
|
|
#include <ctype.h>
|
2010-12-02 12:17:54 +11:00
|
|
|
#include <stdio.h>
|
2011-02-01 06:16:13 +11:00
|
|
|
#include <stdlib.h>
|
2010-12-07 18:34:26 +11:00
|
|
|
#include <string.h>
|
2011-06-29 18:48:48 +10:00
|
|
|
#include "ai.h"
|
2010-12-02 12:17:54 +11:00
|
|
|
#include "attack.h"
|
|
|
|
#include "defs.h"
|
2011-02-01 06:16:13 +11:00
|
|
|
#include "flag.h"
|
- [+] 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
|
|
|
#include "god.h"
|
2011-02-01 06:16:13 +11:00
|
|
|
#include "io.h"
|
2010-12-07 18:34:26 +11:00
|
|
|
#include "lf.h"
|
2010-12-02 12:17:54 +11:00
|
|
|
#include "map.h"
|
2011-02-01 06:16:13 +11:00
|
|
|
#include "move.h"
|
|
|
|
#include "nexus.h"
|
2010-12-07 18:34:26 +11:00
|
|
|
#include "objects.h"
|
* [+] 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
|
|
|
#include "spell.h"
|
2010-12-07 18:34:26 +11:00
|
|
|
#include "text.h"
|
2010-12-02 12:17:54 +11:00
|
|
|
|
|
|
|
extern lifeform_t *player;
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
extern int statdirty;
|
2011-02-16 05:21:33 +11:00
|
|
|
extern int needredraw;
|
2011-02-01 06:16:13 +11:00
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
extern enum GAMEMODE gamemode;
|
2011-03-10 16:47:18 +11:00
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
extern enum ERROR reason;
|
|
|
|
extern void *rdata;
|
|
|
|
|
2011-08-25 09:48:29 +10:00
|
|
|
extern long curtime;
|
|
|
|
|
- [+] vault:pub
- [+] has lots of recruitable people
- [+] plants, magic creatures, etc shoudl have infinite staina
- [+] severed fingers/heads are no longer considered "corpses".
- [+] new kind of bed: pile of straw
- [+] closed shops now work properly.
- [+] stench skillcheck (in makenauseated) - announce this differenlty
to 'nothing happen's
- [+] monsters won't turn to face sounds when fleeing.
- [+] increase accuracy for spear, but reduce accuracy when adjacent
- [+] why didn't cyborg warrior start with bullwhip equiped??
- [+] isbetterwepthan() should take EXTRADAM flag into account
- [+] monster starting skill levels should depend on iq
- [+] no sprinting with injured legs
- [+] more restructions when stunned:
- [+] no throwing
- [+] no operating
- [+] no firearms
- [+] tombstone text: Eaten by a snow troll's halberd
- [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant
corpse! reduced.
- [+] learning certain lore skills should please gods
- [+] repairing should take a lot longer. ie. shoudlbn't be able to do
it during a fight.
- [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR,
v0=material, v1=howmuch
- [+] continuerepairing() should only fix <skill + helpsrepair> hp
per turn.
- [+] announce helpsrepair in obdesc
- [+] coldroom vault:
- [+] ice floor
- [+] ice walls
- [+] ice pillar
- [+] frozen corpses
- [+] new job: gladiator
- [+] sword
- [+] shield
- [+] high shield skill
- [+] high evasion skill
- [+] limited armour skill
- [+] net
- [+] war cry fairly early on
- [+] gust of wind and airblast should drop flying creatures
- [+] fall_from_air().
- [+] trigger then when wind-based effects hit.
- [+] chance of falling depends on size.
- [+] if you polymorph a monster, it should NOT turn back to its
original form!
- [+] criticals dont seem to be happening any more... fixed
- [+] when picking first askcoords target lf, pick the closest
- [+] sakcs etc should contain rarer objects.
- [+] intelligent ai: if exhausted and in battle, and faster than
opponent, flee.???
- [+] easy way to fix reachability:
- [+] is there a solid cell which is:
- [+] adjacent to both a filled and an unfilled area?
- [+] not a fixed vault wall?
- [+] if so, just clear it.
- [+] genericise getrandomrace flags
- [+] some containers should have mini/tiny monsters inside!
- [+] f_hashidinglf, v0=rid
- [+] if you loot it, monster jumps out
- [+] ...and gets a free hit!
- [+] perception lets you see the container moving (only if it
weighs less than what is inside it)
- [+] genericise getrandomcell() with conditionsets.
* [+] condset_t
- [+] then replace all getrandomadjcell() calls...
- [+] remove getrandomroomcells
- [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
|
|
|
extern condset_t ccwalkable;
|
|
|
|
|
2011-05-20 06:30:58 +10:00
|
|
|
extern WINDOW *gamewin, *msgwin;
|
2011-05-16 12:03:25 +10:00
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
int canandwillmove(lifeform_t *lf, int dir, enum ERROR *error) {
|
|
|
|
if (isplayer(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
|
|
|
if (ispossiblemove(lf, dir)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
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
|
|
|
if (ispossiblemove(lf, dir) && willmove(lf, dir, error)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
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 isorthogonal(int dir) {
|
|
|
|
switch (dir) {
|
|
|
|
case D_N:
|
|
|
|
case D_E:
|
|
|
|
case D_S:
|
|
|
|
case D_W:
|
|
|
|
case DC_N:
|
|
|
|
case DC_E:
|
|
|
|
case DC_S:
|
|
|
|
case DC_W:
|
|
|
|
return B_TRUE;
|
2011-05-16 12:03:25 +10:00
|
|
|
}
|
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
|
|
|
return B_FALSE;
|
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
|
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
|
|
|
// ie. moving into a wall isn't possible
|
|
|
|
// moving into a lf/door IS possible since you will attack/open it
|
|
|
|
// moving while grabbed IS possible since you'll try to break free
|
|
|
|
int ispossiblemove(lifeform_t *lf, int dir) {
|
|
|
|
enum ERROR error;
|
|
|
|
if (moveclear(lf, dir, &error)) {
|
|
|
|
return B_TRUE;
|
|
|
|
} else {
|
|
|
|
object_t *inway = NULL;
|
|
|
|
switch (error) {
|
|
|
|
case E_OFFMAP:
|
2012-05-09 07:57:49 +10:00
|
|
|
if (lf->cell->map->region->id == BH_WORLDMAP) {
|
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
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
case E_CANTMOVE:
|
|
|
|
case E_GRABBEDBY:
|
|
|
|
case E_TOOHEAVY:
|
|
|
|
case E_LFINWAY:
|
|
|
|
return B_TRUE;
|
2011-06-09 18:58:35 +10:00
|
|
|
case E_DOORINWAY:
|
2011-11-02 07:35:50 +11:00
|
|
|
// if ai lifeforms CANT open doors, they will attack them
|
2011-11-18 14:25:09 +11:00
|
|
|
if (canopendoors(lf) || !isplayer(lf) || lfhasflag(lf, F_RAGE)) {
|
2011-06-09 18:58:35 +10:00
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-11-02 07:35:50 +11:00
|
|
|
//}
|
2011-06-09 18:58:35 +10:00
|
|
|
break;
|
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
|
|
|
case E_OBINWAY:
|
|
|
|
inway = (object_t *)rdata;
|
|
|
|
if (inway && ispushable(inway)) {
|
2011-06-09 18:58:35 +10:00
|
|
|
// player can always try pushing...
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
return B_TRUE;
|
|
|
|
} else {
|
|
|
|
// for ai, move is only 'possible' if
|
|
|
|
// we are strong enough to push the object.
|
|
|
|
if (canpush(lf, inway, dir)) {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
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
|
|
|
}
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
|
|
|
}
|
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
|
|
|
return B_FALSE;
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
|
2011-03-25 12:23:15 +11:00
|
|
|
// lf is the one moving, lf2 is the one who is being forced to swap
|
|
|
|
int canswapwith(lifeform_t *lf, lifeform_t *lf2) {
|
2011-11-18 14:25:09 +11:00
|
|
|
// can't swap places when enraged
|
|
|
|
if (lfhasflag(lf, F_RAGE)) {
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
2011-03-25 12:23:15 +11:00
|
|
|
// player can never be forced to swap
|
|
|
|
if (isplayer(lf2)) {
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
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
|
|
|
// mosnters don't swap with people who have F_NOSWAP.
|
|
|
|
if (!isplayer(lf) && lfhasflag(lf2, F_NOSWAP)) {
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-03-25 12:23:15 +11:00
|
|
|
// cannot swap if lf's cell is dangerous to lf2
|
|
|
|
if (celldangerous(lf2, lf->cell, B_FALSE, NULL)) {
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
2011-07-21 11:43:45 +10:00
|
|
|
|
2011-03-25 12:23:15 +11:00
|
|
|
|
|
|
|
// allies can always swap
|
|
|
|
if (areallies(lf, lf2)) {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2012-12-06 15:57:13 +11:00
|
|
|
|
|
|
|
if (isplayer(lf)) {
|
2012-12-26 17:12:09 +11:00
|
|
|
if (isunconscious(lf2)) {
|
2012-12-06 15:57:13 +11:00
|
|
|
if (getlfsize(lf2) <= getlfsize(lf)) {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
} else if (!areenemies(lf, lf2) && isknownpeaceful(lf2)) {
|
2012-05-22 16:10:49 +10:00
|
|
|
// player can swap with peaceful lfs
|
2012-04-07 17:18:56 +10:00
|
|
|
// if they are a lot smaller
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
//if (getlfsize(lf) - getlfsize(lf2) >= 2) {
|
|
|
|
// return B_TRUE;
|
|
|
|
//}
|
|
|
|
return B_TRUE;
|
2011-03-25 12:23:15 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-02-16 05:21:33 +11:00
|
|
|
// will populate rdata
|
2011-03-25 12:23:15 +11:00
|
|
|
// onlyifknown = true means "check for _known_ dangerous objects"
|
|
|
|
// onlyifknown = false means "check for _any dangerous objects, doesn't matter if we know about them"
|
|
|
|
int celldangerous(lifeform_t *lf, cell_t *cell, int onlyifknown, enum ERROR *error) {
|
2011-08-25 09:48:29 +10:00
|
|
|
enum ATTRBRACKET wis;
|
2011-03-25 12:23:15 +11:00
|
|
|
int include_nonobvious = B_FALSE;
|
|
|
|
flag_t *f;
|
|
|
|
object_t *o;
|
|
|
|
|
2012-06-03 08:43:18 +10:00
|
|
|
rdata = NULL;
|
2011-02-16 05:21:33 +11:00
|
|
|
// default
|
|
|
|
if (error) {
|
|
|
|
*error = E_OK;
|
|
|
|
}
|
|
|
|
|
2011-05-27 10:41:34 +10:00
|
|
|
// never dangerous if there's someone there, since we'll
|
|
|
|
// attack them instead of moving!
|
2012-03-20 21:26:33 +11:00
|
|
|
if (cell->lf && (cell->lf != lf)) {
|
2011-05-27 10:41:34 +10:00
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2012-02-02 15:33:24 +11:00
|
|
|
if (lf && isplayer(lf) && godprayedto(R_GODMERCY)) {
|
|
|
|
wis = AT_VHIGH;
|
|
|
|
} else {
|
|
|
|
wis = getattrbracket(getattr(lf, A_WIS), A_WIS, NULL);
|
|
|
|
}
|
2012-01-06 11:20:57 +11:00
|
|
|
|
2011-03-25 12:23:15 +11:00
|
|
|
// obvious things that you can see
|
2011-04-01 10:54:44 +11:00
|
|
|
if (!onlyifknown || (haslos(lf, cell) && !lfhasflag(lf, F_UNDEAD))) {
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
// water needing creature out of water?
|
|
|
|
if (lfhasflag(lf, F_NEEDSWATER)) {
|
|
|
|
if (!hasobwithflag(cell->obpile, F_DEEPWATER)) {
|
|
|
|
if (error) {
|
|
|
|
*error = E_DANGEROUS;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-02-16 05:21:33 +11:00
|
|
|
for (o = cell->obpile->first ; o ; o = o->next) {
|
2011-06-23 15:57:55 +10:00
|
|
|
if (onlyifknown && !canseeob(lf, o)) continue;
|
2016-05-31 12:53:28 +10:00
|
|
|
|
2011-06-23 15:57:55 +10:00
|
|
|
if (hasflag(o->flags, F_TRAP)) {
|
2011-06-09 18:58:35 +10:00
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-09-28 11:05:10 +10:00
|
|
|
if (o->type->id == OT_PENTAGRAM) {
|
2012-05-22 16:10:49 +10:00
|
|
|
// this is only dangerous for the player, and only if they have
|
|
|
|
// above average wisdom
|
|
|
|
if (isplayer(lf) && (wis >= AT_GTAVERAGE)) {
|
2011-09-28 11:05:10 +10:00
|
|
|
object_t *oo;
|
|
|
|
// any blessed objects in your pack?
|
|
|
|
for (oo = lf->pack->first ; oo ; oo = oo->next) {
|
|
|
|
if (oo->blessknown && isblessed(oo)) {
|
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
- [+] press ] then \ - CRASH.
- [+] if sound is behind walls:
- [+] you hear a muffled explosion
- [+] int canhear() needs one more optional argument:
&numwallspassed
- [+] if supplied, fill it in.
- [+] in noise(), check numwallspassed. if there were any, then say
'muffled'. or maybe if more than 2? play around with this.
- [+] listen skill should also give more info about NON monster sounds
- [+] ie. direction, distance.
- [+] set user->changinglev when CHECKING stairs in the same way as
when we use them.
- [+] monk abil - iron fist - use all remaining stamina as damage +
knockback
* [+] HITCONFER - this should only work if you were attacked through a
BITE or CLAW etc.
- [+] bug... werewolves etc not attacking properly after shapehifting
- [+] some tech/tools should be usable with hands (ie. watch).
f_operwithouthands
- [+] werewolves sohuld keep f_hitconfer after shapeshifting
- [+] done
- [+] summoned creatures from ai should never attack their masters!!!
- [+] only the PLAYER can be infected by a werewolf? or only HUMANS ?
- [+] when a werewolf changes to animal form, no longer hide true race
as 'human'
- [+] lycanthropy?
- [+] how to get it:
- [+] drink were-xxx blood (->potion of lycanthropy, never
appears randomly)
- [+] bitten by a lycanthrope (chance) with hitconfer and fail
a con check
- [+] change f_lycanthrope so text = racename.
- [+] effects when you get it:
- [+] right away, add diseased with lycanthropy. incubatino
infinite ?
- [+] if you are incubating lycanthropy, you always change at
the full moon (and get rage, and lose control).
- [+] at this point, complete the incubation and...
- [+] add f_hatesall
- [+] lose control for a while
- [+] after you change back the first time, you can change at
will. (but there is a risk each time of losing control)
- [+] player regains control
- [+] remove aicontrolled, hatesall, rage
- [+] actually add f_lycanthrope, text=xxx, v0=4
- [+] when f_lycanthrope v0 drops to 0 or less...
- [+] canwill shapeshift with race:xxx
- [+] how to remove it
- [+] remove curse scroll
- [+] drink holy water
- [+] these will:
- [+] cure any incubating curse
- [+] cure any f_poisoned curse
- [+] cure lycanthropy, and any flags FROMLYCANTHROPY
- [+] other effect
- [+] wont/cant walk into holy circle?
- [+] holy circle hurts you
- [+] shouldn't be able to get critical hits on you (ie. injuries) if
you ahve heavenly armour
- [+] bug in f_poisoned text. i think i've fixed this now.
Died on level 2 of the dungeon.
Killed by venom poisoning
from 5-10
- [+] donated objects count towards xp!
- [+] -50% of value if not known.
- [+] -25% of value if not id'd
- [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
|
|
|
} else if (o->type->id == OT_HOLYCIRCLE) {
|
|
|
|
if (isundead(lf) || lfhasflag(lf, F_LYCANTHROPE)) {
|
2012-11-26 06:57:49 +11:00
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
- [+] press ] then \ - CRASH.
- [+] if sound is behind walls:
- [+] you hear a muffled explosion
- [+] int canhear() needs one more optional argument:
&numwallspassed
- [+] if supplied, fill it in.
- [+] in noise(), check numwallspassed. if there were any, then say
'muffled'. or maybe if more than 2? play around with this.
- [+] listen skill should also give more info about NON monster sounds
- [+] ie. direction, distance.
- [+] set user->changinglev when CHECKING stairs in the same way as
when we use them.
- [+] monk abil - iron fist - use all remaining stamina as damage +
knockback
* [+] HITCONFER - this should only work if you were attacked through a
BITE or CLAW etc.
- [+] bug... werewolves etc not attacking properly after shapehifting
- [+] some tech/tools should be usable with hands (ie. watch).
f_operwithouthands
- [+] werewolves sohuld keep f_hitconfer after shapeshifting
- [+] done
- [+] summoned creatures from ai should never attack their masters!!!
- [+] only the PLAYER can be infected by a werewolf? or only HUMANS ?
- [+] when a werewolf changes to animal form, no longer hide true race
as 'human'
- [+] lycanthropy?
- [+] how to get it:
- [+] drink were-xxx blood (->potion of lycanthropy, never
appears randomly)
- [+] bitten by a lycanthrope (chance) with hitconfer and fail
a con check
- [+] change f_lycanthrope so text = racename.
- [+] effects when you get it:
- [+] right away, add diseased with lycanthropy. incubatino
infinite ?
- [+] if you are incubating lycanthropy, you always change at
the full moon (and get rage, and lose control).
- [+] at this point, complete the incubation and...
- [+] add f_hatesall
- [+] lose control for a while
- [+] after you change back the first time, you can change at
will. (but there is a risk each time of losing control)
- [+] player regains control
- [+] remove aicontrolled, hatesall, rage
- [+] actually add f_lycanthrope, text=xxx, v0=4
- [+] when f_lycanthrope v0 drops to 0 or less...
- [+] canwill shapeshift with race:xxx
- [+] how to remove it
- [+] remove curse scroll
- [+] drink holy water
- [+] these will:
- [+] cure any incubating curse
- [+] cure any f_poisoned curse
- [+] cure lycanthropy, and any flags FROMLYCANTHROPY
- [+] other effect
- [+] wont/cant walk into holy circle?
- [+] holy circle hurts you
- [+] shouldn't be able to get critical hits on you (ie. injuries) if
you ahve heavenly armour
- [+] bug in f_poisoned text. i think i've fixed this now.
Died on level 2 of the dungeon.
Killed by venom poisoning
from 5-10
- [+] donated objects count towards xp!
- [+] -50% of value if not known.
- [+] -25% of value if not id'd
- [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-09-28 11:05:10 +10:00
|
|
|
}
|
2011-06-23 15:57:55 +10:00
|
|
|
f = hasflag(o->flags, F_PIT);
|
|
|
|
if (f && (f->val[0] == D_DOWN)) {
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if (!isairborne(lf, NULL)) {
|
2011-06-23 15:57:55 +10:00
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
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
|
|
|
f = hasflag(o->flags, F_DEEPWATER);
|
|
|
|
if (f) {
|
2011-05-27 10:41:34 +10:00
|
|
|
// non swimming creature in water?
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if (!isairborne(lf, NULL) && !lfhasflag(lf, F_AQUATIC)) {
|
2011-12-12 03:47:45 +11:00
|
|
|
if ((getobdepth(o, lf) >= DP_HEAD)) {
|
|
|
|
if (getskill(lf, SK_SWIMMING) - isburdened(lf) <= 0) {
|
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (isvulnto(lf->flags, DT_WATER, B_FALSE)) {
|
2011-05-27 10:41:34 +10:00
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
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
|
|
|
}
|
* [+] 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
|
|
|
f = obrestrictsmovement(o, lf);
|
|
|
|
if (f) {
|
|
|
|
// always avoid if possible
|
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-03-25 12:23:15 +11:00
|
|
|
f = hasflag(o->flags, F_WALKDAM);
|
|
|
|
if (f) {
|
- [+] 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
|
|
|
if ((f->val[0] != DT_WATER) || isvulnto(lf->flags, DT_WATER, B_FALSE)) {
|
2011-04-14 09:44:29 +10:00
|
|
|
// are we immune to this?
|
|
|
|
if (!lfhasflagval(lf, F_DTIMMUNE, f->val[0], NA, NA, NULL)) {
|
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
}
|
|
|
|
}
|
2011-03-25 12:23:15 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-12-12 03:47:45 +11:00
|
|
|
// non-obvious things - only include these if we are wise enough
|
2011-03-25 12:23:15 +11:00
|
|
|
if (!onlyifknown) {
|
|
|
|
include_nonobvious = B_TRUE;
|
|
|
|
} else {
|
2012-06-25 22:49:53 +10:00
|
|
|
if (haslos(lf, cell)) {
|
2011-04-01 10:54:44 +11:00
|
|
|
if (!lfhasflag(lf, F_UNDEAD)) {
|
|
|
|
include_nonobvious = B_TRUE;
|
|
|
|
}
|
2011-03-25 12:23:15 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
if (include_nonobvious) {
|
|
|
|
for (o = cell->obpile->first ; o ; o = o->next) {
|
2012-02-05 10:26:16 +11:00
|
|
|
if (wis >= AT_GTAVERAGE) {
|
|
|
|
// don't walk onto crushable objects if you worship ekrub
|
2012-07-06 13:54:58 +10:00
|
|
|
if (isplayer(lf) && godprayedto(R_GODNATURE) && cancrush(lf, o) && !lfhasflag(lf, F_CAREFULMOVE)) {
|
2012-02-05 10:26:16 +11:00
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2012-06-25 22:49:53 +10:00
|
|
|
} else if (wis >= AT_AVERAGE) {
|
2012-02-05 10:26:16 +11:00
|
|
|
// don't walk on sharp objects without boots
|
2012-01-06 11:20:57 +11:00
|
|
|
if (hasflag(o->flags, F_SHARP)) {
|
2012-12-02 16:40:58 +11:00
|
|
|
if (!isairborne(lf, NULL) && !getequippedob(lf->pack, BP_FEET)) {
|
2012-01-06 11:20:57 +11:00
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
}
|
2016-05-31 12:53:28 +10:00
|
|
|
} else if (wis >= AT_LOW) {
|
|
|
|
// avoid objects which produce light if we have sensitive eyes
|
|
|
|
if (obproduceslight(o) && !isblind(lf) && (lighthurtseyes(lf) || isvulnto(lf->flags, DT_LIGHT, B_FALSE)) ) {
|
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2012-02-05 10:26:16 +11:00
|
|
|
}
|
2012-06-25 22:49:53 +10:00
|
|
|
|
|
|
|
// other checks - ie ones where the condition for knowing
|
|
|
|
// about the danger is based on more than just wisdom.
|
|
|
|
|
|
|
|
// avoid active landmines
|
|
|
|
f = hasflag(o->flags, F_EXPLODEONMOTION);
|
|
|
|
if (f) {
|
|
|
|
if ((wis >= AT_GTAVERAGE) || (getskill(lf, SK_TECHUSAGE) >= gettechlevel(o->type->id))) {
|
|
|
|
int avoidit = B_FALSE;
|
|
|
|
if (f->val[2] == B_IFACTIVATED) {
|
|
|
|
if (isactivated(o)) {
|
|
|
|
avoidit = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
avoidit = B_TRUE;
|
|
|
|
}
|
|
|
|
if (avoidit) {
|
|
|
|
if (error) {
|
|
|
|
*error = E_AVOIDOB;
|
|
|
|
rdata = o;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
int cellwalkable(lifeform_t *lf, cell_t *cell, enum ERROR *error) {
|
|
|
|
object_t *o;
|
|
|
|
// default
|
|
|
|
if (error) {
|
|
|
|
*error = E_OK;
|
|
|
|
rdata = NULL;
|
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
if (!cell) {
|
2011-04-11 15:05:45 +10:00
|
|
|
if (error) *error = E_OFFMAP;
|
2010-12-02 12:17:54 +11:00
|
|
|
return B_FALSE;
|
|
|
|
}
|
2011-11-03 09:34:15 +11:00
|
|
|
if (lf && isclimbing(lf)) {
|
|
|
|
cell_t *rightcell,*leftcell,*frontcell;
|
|
|
|
int rightdir,leftdir,i;
|
2011-12-08 13:55:14 +11:00
|
|
|
int gotlf = B_FALSE;
|
2011-11-03 09:34:15 +11:00
|
|
|
// climbing rules: you can climb into a cell if:
|
2011-12-08 13:55:14 +11:00
|
|
|
// - it contains a lifeform and is in front of you
|
|
|
|
// OR
|
2011-11-03 09:34:15 +11:00
|
|
|
// - it is directly to your side
|
|
|
|
// - the target cell (beside you) is a wall
|
|
|
|
// - the cell in FRONT (ie. dir you are facing) of the target cell
|
|
|
|
// is NOT a wall
|
|
|
|
// OR
|
|
|
|
// - it is straight forward (ie. off the wall)
|
2011-12-08 13:55:14 +11:00
|
|
|
|
|
|
|
|
|
|
|
if (cell->lf && (cell->lf != lf)) {
|
|
|
|
if (getrelativedir(lf, getdirtowards(lf->cell, cell, lf, B_FALSE, DT_ORTH)) == RD_FORWARDS) {
|
|
|
|
if (error) *error = E_LFINWAY; // ok but still set reason
|
|
|
|
gotlf = B_TRUE;
|
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
}
|
2011-12-08 13:55:14 +11:00
|
|
|
|
|
|
|
if (!gotlf) {
|
|
|
|
rightdir = lf->facing;
|
|
|
|
leftdir = lf->facing;
|
|
|
|
for (i = 0; i < 2; i++) {
|
|
|
|
if (++rightdir > DC_NW) rightdir = DC_N;
|
|
|
|
if (--leftdir < DC_N) leftdir = DC_NW;
|
|
|
|
}
|
|
|
|
rightcell = getcellindir(lf->cell, rightdir);
|
|
|
|
leftcell = getcellindir(lf->cell, leftdir);
|
|
|
|
frontcell = getcellindir(lf->cell, lf->facing);
|
|
|
|
if ((cell != rightcell) && (cell != leftcell) && (cell != frontcell)) {
|
|
|
|
// not left/right/front
|
2011-11-03 09:34:15 +11:00
|
|
|
if (error) *error = E_BADCLIMBDIR;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
2011-12-08 13:55:14 +11:00
|
|
|
|
|
|
|
if (cell == frontcell) {
|
|
|
|
// in front
|
|
|
|
if (cell->type->solid) {
|
2011-11-03 09:34:15 +11:00
|
|
|
if (error) *error = E_BADCLIMBDIR;
|
|
|
|
return B_FALSE;
|
2011-12-08 13:55:14 +11:00
|
|
|
} else if (!cell->lf) {
|
|
|
|
// in front and not solid, and no lf there
|
|
|
|
if (error) *error = E_STOPCLIMBING;
|
|
|
|
return B_TRUE;
|
2011-11-03 09:34:15 +11:00
|
|
|
}
|
|
|
|
} else {
|
2011-12-08 13:55:14 +11:00
|
|
|
// to the side
|
|
|
|
if (cell->type->solid) {
|
|
|
|
cell_t *sidefrontcell;
|
|
|
|
sidefrontcell = getcellindir(cell, lf->facing);
|
|
|
|
if (!sidefrontcell || sidefrontcell->type->solid) {
|
|
|
|
// cell in front of target cell is solid
|
|
|
|
if (error) *error = E_BADCLIMBDIR;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
// to the side and not solid
|
|
|
|
if (error) *error = E_BADCLIMBDIR;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
2011-11-03 09:34:15 +11:00
|
|
|
}
|
|
|
|
// if okay, now drop through to below code which checks
|
|
|
|
// whether there are any lfs or objects in the way
|
|
|
|
} else {
|
|
|
|
// not climbing
|
|
|
|
if (cell->type->solid) {
|
|
|
|
// mover is noncorporeal?
|
|
|
|
if (lf && lfhasflag(lf, F_NONCORPOREAL)) {
|
|
|
|
if (error) *error = E_WALLINWAY; // ok but still set reason
|
|
|
|
// ok
|
|
|
|
} else if (cell->lf && (cell->lf != lf)) { // someone (else) in the wall?
|
|
|
|
if (error) *error = E_LFINWAY; // ok but still set reason
|
|
|
|
//return B_FALSE;
|
|
|
|
// ok
|
|
|
|
} else {
|
|
|
|
if (error) *error = E_WALLINWAY;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
}
|
2011-03-04 12:22:36 +11:00
|
|
|
|
|
|
|
// must check for lf before checking for impassable objects,
|
|
|
|
// so that we are able to attack monsters embedded in walls.
|
|
|
|
if (cell->lf && (cell->lf != lf)) {
|
2011-10-19 10:08:14 +11:00
|
|
|
rdata = cell->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
|
|
|
// usually can't attack while swimming
|
2011-05-27 10:41:34 +10:00
|
|
|
if (lf && isswimming(lf) && (getskill(lf, SK_SWIMMING) <= PR_EXPERT)) {
|
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
|
|
|
if (!lfhasflag(lf, F_AQUATIC)) {
|
|
|
|
if (error) *error = E_SWIMMING;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-03-04 12:22:36 +11:00
|
|
|
if (error) *error = E_LFINWAY;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
2011-11-03 09:34:15 +11:00
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
for (o = cell->obpile->first ; o ; o = o->next) {
|
2012-01-19 14:42:10 +11:00
|
|
|
if (isimpassableob(o, lf, SZ_ANY)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
if (lf) {
|
2011-06-29 18:48:48 +10:00
|
|
|
enum MATERIAL mid;
|
|
|
|
mid = getlfmaterial(lf);
|
|
|
|
if ((mid == MT_GAS) ||
|
|
|
|
(mid == MT_SLIME)) {
|
2011-02-16 05:21:33 +11:00
|
|
|
// ok
|
2011-08-25 09:48:29 +10:00
|
|
|
} else if (lfhasflag(lf, F_NONCORPOREAL) && !hasflag(o->flags, F_REALLYIMPASSABLE)) {
|
* [+] 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
|
|
|
// ok but still set error
|
|
|
|
*error = E_OBINWAY;
|
2011-02-16 05:21:33 +11:00
|
|
|
} else {
|
2011-06-09 18:58:35 +10:00
|
|
|
// not ok
|
2011-02-01 06:16:13 +11:00
|
|
|
rdata = o;
|
2011-04-01 10:54:44 +11:00
|
|
|
if (error) {
|
|
|
|
if (isdoor(o, NULL)) {
|
* [+] 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
|
|
|
if (hasflag(o->flags, F_SECRET)) {
|
2011-04-14 09:44:29 +10:00
|
|
|
*error = E_WALLINWAY;
|
|
|
|
} else {
|
|
|
|
*error = E_DOORINWAY;
|
|
|
|
}
|
2011-04-01 10:54:44 +11:00
|
|
|
} else {
|
|
|
|
*error = E_OBINWAY;
|
|
|
|
}
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
rdata = o;
|
2011-04-01 10:54:44 +11:00
|
|
|
if (error) {
|
|
|
|
if (isdoor(o, NULL)) {
|
|
|
|
*error = E_DOORINWAY;
|
|
|
|
} else {
|
|
|
|
*error = E_OBINWAY;
|
|
|
|
}
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-12-02 12:17:54 +11:00
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-09-12 10:05:42 +10:00
|
|
|
enum RELATIVEDIR getrelativedir(lifeform_t *lf, int dir) {
|
2011-09-13 09:52:21 +10:00
|
|
|
int tempdir;
|
|
|
|
|
- [+] 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
|
|
|
if (lfhasflag(lf, F_AWARENESS)) return RD_FORWARDS;
|
|
|
|
|
2011-09-13 09:52:21 +10:00
|
|
|
// facing N, dir N == forwards
|
|
|
|
if (lf->facing == dir) return RD_FORWARDS;
|
|
|
|
|
|
|
|
// facing N, dir NE == forwards
|
|
|
|
tempdir = lf->facing + 1; if (tempdir > DC_NW) tempdir -= MAXDIR_COMPASS;
|
|
|
|
if (tempdir == dir) return RD_FORWARDS;
|
|
|
|
// facing N, dir NW == forwards
|
|
|
|
tempdir = lf->facing - 1; if (tempdir < DC_N) tempdir += MAXDIR_COMPASS;
|
|
|
|
if (tempdir == dir) return RD_FORWARDS;
|
|
|
|
|
|
|
|
// facing N, dir E == sideways
|
|
|
|
tempdir = lf->facing + 2; if (tempdir > DC_NW) tempdir -= MAXDIR_COMPASS;
|
|
|
|
if (tempdir == dir) return RD_SIDEWAYS;
|
|
|
|
// facing N, dir W == sideways
|
|
|
|
tempdir = lf->facing - 2; if (tempdir < DC_N) tempdir += MAXDIR_COMPASS;
|
|
|
|
if (tempdir == dir) return RD_SIDEWAYS;
|
|
|
|
|
|
|
|
// anything else is backwards
|
2011-09-12 09:52:14 +10:00
|
|
|
return RD_BACKWARDS;
|
|
|
|
}
|
|
|
|
|
2011-03-04 12:22:36 +11:00
|
|
|
int diropposite(int dir) {
|
|
|
|
switch (dir) {
|
|
|
|
case D_N:
|
|
|
|
return D_S;
|
|
|
|
case D_E:
|
|
|
|
return D_W;
|
|
|
|
case D_S:
|
|
|
|
return D_N;
|
|
|
|
case D_W:
|
|
|
|
return D_E;
|
|
|
|
case DC_N:
|
|
|
|
return DC_S;
|
|
|
|
case DC_NE:
|
|
|
|
return DC_SW;
|
|
|
|
case DC_E:
|
|
|
|
return DC_W;
|
|
|
|
case DC_SE:
|
|
|
|
return DC_NW;
|
|
|
|
case DC_S:
|
|
|
|
return DC_N;
|
|
|
|
case DC_SW:
|
|
|
|
return DC_NE;
|
|
|
|
case DC_W:
|
|
|
|
return DC_E;
|
|
|
|
case DC_NW:
|
|
|
|
return DC_SE;
|
2011-06-23 15:57:55 +10:00
|
|
|
case D_UP:
|
|
|
|
return D_DOWN;
|
|
|
|
case D_DOWN:
|
|
|
|
return D_UP;
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
|
|
|
// should never happen!
|
|
|
|
return dir;
|
|
|
|
}
|
|
|
|
|
2011-05-07 06:57:44 +10:00
|
|
|
// restonfail means "if we can't find any valid moves, just rest"
|
|
|
|
// returns true on error
|
2012-01-30 09:47:43 +11:00
|
|
|
int dorandommove(lifeform_t *lf, int badmovesok, int restonfail, int strafe) {
|
2011-12-08 13:55:14 +11:00
|
|
|
int origtimespent;
|
2010-12-02 12:17:54 +11:00
|
|
|
int dir;
|
|
|
|
int tries = 0;
|
2011-10-06 09:08:13 +11:00
|
|
|
int moveok,rv;
|
2010-12-07 18:34:26 +11:00
|
|
|
enum ERROR why;
|
|
|
|
|
2012-03-06 21:47:26 +11:00
|
|
|
if (lfhasflag(lf, F_DOESNTMOVE)) {
|
|
|
|
rest(lf, B_TRUE);
|
2016-05-31 00:21:12 +10:00
|
|
|
|
2012-03-06 21:47:26 +11:00
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2010-12-07 18:34:26 +11:00
|
|
|
// find a valid direction
|
2010-12-02 12:17:54 +11:00
|
|
|
dir = getrandomdir(DT_COMPASS);
|
2010-12-07 18:34:26 +11:00
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
moveok = canandwillmove(lf, dir, &why);
|
|
|
|
|
2016-05-31 00:21:12 +10:00
|
|
|
|
2010-12-07 18:34:26 +11:00
|
|
|
if (!moveok && badmovesok) {
|
|
|
|
switch (why) {
|
2011-02-01 06:16:13 +11:00
|
|
|
// actually okay to move into someone
|
2010-12-07 18:34:26 +11:00
|
|
|
case E_WALLINWAY:
|
|
|
|
case E_LFINWAY:
|
|
|
|
moveok = B_TRUE;
|
|
|
|
break;
|
2011-02-01 06:16:13 +11:00
|
|
|
default:
|
|
|
|
break;
|
2010-12-07 18:34:26 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
while (!moveok) {
|
|
|
|
// try next direction...
|
2010-12-02 12:17:54 +11:00
|
|
|
if (++dir > DC_NW) dir = DC_N;
|
|
|
|
if (++tries >= MAXDIR_COMPASS) {
|
2011-05-07 06:57:44 +10:00
|
|
|
if (restonfail) {
|
|
|
|
rest(lf, B_TRUE);
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
2010-12-07 18:34:26 +11:00
|
|
|
|
|
|
|
// check this direction...
|
2011-02-01 06:16:13 +11:00
|
|
|
moveok = canandwillmove(lf, dir, &why);
|
2010-12-07 18:34:26 +11:00
|
|
|
if (!moveok && badmovesok) {
|
|
|
|
switch (why) {
|
|
|
|
case E_WALLINWAY:
|
|
|
|
case E_LFINWAY:
|
|
|
|
moveok = B_TRUE;
|
|
|
|
break;
|
2011-02-01 06:16:13 +11:00
|
|
|
default:
|
|
|
|
break;
|
2010-12-07 18:34:26 +11:00
|
|
|
}
|
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
2011-12-08 13:55:14 +11:00
|
|
|
|
|
|
|
origtimespent = lf->timespent;
|
2012-01-30 09:47:43 +11:00
|
|
|
rv = trymove(lf, dir, B_TRUE, strafe);
|
2016-05-31 00:21:12 +10:00
|
|
|
|
2011-12-08 13:55:14 +11:00
|
|
|
if (restonfail && (rv || (lf->timespent == origtimespent))) {
|
2011-10-06 09:08:13 +11:00
|
|
|
// ie move failed
|
|
|
|
rest(lf, B_TRUE);
|
|
|
|
}
|
|
|
|
return rv;
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
|
2011-02-16 05:21:33 +11:00
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
// src is where something is
|
|
|
|
// dst is what we are going away from
|
- [+] 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
|
|
|
// if srclf is set, it is used for cellwalkable() checks. ie. if move will be involuntary, don't set this!
|
2011-03-18 12:25:18 +11:00
|
|
|
// wantcheck is whether to check for dangerous things before considering a direction valid
|
* [+] 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
|
|
|
int getdiraway(cell_t *src, cell_t *dst, lifeform_t *srclf, int wantcheck, int dirtype, int keepinlof) {
|
2011-02-01 06:16:13 +11:00
|
|
|
int d;
|
|
|
|
cell_t *c;
|
|
|
|
int maxdist=-1,bestdir=D_NONE;
|
2011-03-18 12:25:18 +11:00
|
|
|
int dist[MAXDIR_COMPASS];
|
|
|
|
int poss[MAXDIR_COMPASS];
|
|
|
|
int nposs;
|
2016-05-31 00:21:12 +10:00
|
|
|
enum ERROR error = E_OK;
|
2011-02-01 06:16:13 +11:00
|
|
|
|
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
|
|
|
if (dirtype == DT_ORTH) {
|
|
|
|
maxdist = getcelldistorth(src, dst);
|
|
|
|
} else {
|
|
|
|
maxdist = getcelldist(src, dst);
|
|
|
|
}
|
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
for (d = DC_N; d <= DC_NW; d++) {
|
|
|
|
dist[d - DC_N] = -1;
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
for (d = DC_N; d <= DC_NW; d++) {
|
|
|
|
int thisdist = -1;
|
|
|
|
int ok = B_FALSE;
|
|
|
|
c = getcellindir(src, d);
|
|
|
|
if (!c) continue;
|
|
|
|
|
|
|
|
if (c == dst) {
|
|
|
|
// destination is the thing we're fleeing from!
|
2011-03-18 12:25:18 +11:00
|
|
|
thisdist = 0;
|
2011-02-01 06:16:13 +11:00
|
|
|
} else {
|
|
|
|
if (wantcheck) {
|
2011-04-01 10:54:44 +11:00
|
|
|
if (srclf) {
|
|
|
|
if (canandwillmove(srclf, d, &error)) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
} else if (error == E_DOORINWAY) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
2011-02-01 06:16:13 +11:00
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
2011-04-01 10:54:44 +11:00
|
|
|
if (srclf) {
|
|
|
|
if (cellwalkable(srclf, c, &error)) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
} else if (error == E_DOORINWAY) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
2011-02-01 06:16:13 +11:00
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
2011-04-01 10:54:44 +11:00
|
|
|
|
* [+] 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
|
|
|
if (keepinlof) {
|
2012-11-09 22:50:52 +11:00
|
|
|
if (!haslof_real(c, dst, LOF_NEED, NULL, srclf, B_TRUE)) {
|
* [+] 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
|
|
|
ok = B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
if (ok) {
|
2011-03-24 16:09:31 +11:00
|
|
|
if (dirtype == DT_ORTH) {
|
|
|
|
thisdist = getcelldistorth(c, dst);
|
|
|
|
} else {
|
|
|
|
thisdist = getcelldist(c, dst);
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
} else {
|
|
|
|
thisdist = -1;
|
|
|
|
}
|
2011-03-18 12:25:18 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
dist[d - DC_N] = thisdist;
|
2011-07-01 13:34:41 +10:00
|
|
|
if (thisdist >= maxdist) {
|
2011-03-18 12:25:18 +11:00
|
|
|
maxdist = thisdist;
|
|
|
|
bestdir = d;
|
|
|
|
}
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
nposs = 0;
|
|
|
|
for (d = DC_N; d <= DC_NW; d++) {
|
|
|
|
if (dist[d - DC_N] != -1) {
|
|
|
|
if (dist[d - DC_N] == maxdist) {
|
|
|
|
poss[nposs] = d;
|
|
|
|
nposs++;
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
}
|
2010-12-07 18:34:26 +11:00
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
if (nposs <= 0) {
|
|
|
|
return D_NONE;
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
2011-03-18 12:25:18 +11:00
|
|
|
bestdir = poss[rnd(0,nposs-1)];
|
|
|
|
reason = E_OK;
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
return bestdir;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2011-03-24 16:09:31 +11:00
|
|
|
int getdirtowards(cell_t *src, cell_t *dst, lifeform_t *srclf, int wantcheck, int dirtype) {
|
2011-02-01 06:16:13 +11:00
|
|
|
int d;
|
|
|
|
cell_t *c;
|
|
|
|
int mindist=9999,bestdir=D_NONE;
|
2011-03-18 12:25:18 +11:00
|
|
|
int dist[MAXDIR_COMPASS];
|
|
|
|
int poss[MAXDIR_COMPASS];
|
|
|
|
int nposs;
|
2012-11-14 15:59:18 +11:00
|
|
|
enum ERROR error = E_OK;
|
2011-03-18 12:25:18 +11:00
|
|
|
|
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
|
|
|
if (dirtype == DT_ORTH) {
|
|
|
|
mindist = getcelldistorth(src, dst);
|
|
|
|
} else {
|
|
|
|
mindist = getcelldist(src, dst);
|
|
|
|
}
|
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
for (d = DC_N; d <= DC_NW; d++) {
|
|
|
|
dist[d - DC_N] = -1;
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
|
|
|
|
for (d = DC_N; d <= DC_NW; d++) {
|
|
|
|
int ok = B_FALSE;
|
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 thisdist;
|
2011-02-01 06:16:13 +11:00
|
|
|
c = getcellindir(src, d);
|
|
|
|
if (!c) continue;
|
2011-03-18 12:25:18 +11:00
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
if (c == dst) {
|
2011-03-18 12:25:18 +11:00
|
|
|
dist[d - DC_N] = 0;
|
|
|
|
mindist = 0;
|
2011-02-01 06:16:13 +11:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (wantcheck) {
|
2011-04-01 10:54:44 +11:00
|
|
|
if (srclf) {
|
|
|
|
if (canandwillmove(srclf, d, &error)) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
} else if (error == E_DOORINWAY) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
2011-02-01 06:16:13 +11:00
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
2011-04-01 10:54:44 +11:00
|
|
|
if (srclf) {
|
|
|
|
if (cellwalkable(srclf, c, &error)) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
} else if (error == E_DOORINWAY) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
2011-02-01 06:16:13 +11:00
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
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
|
|
|
|
|
|
|
// get distance
|
2011-02-01 06:16:13 +11:00
|
|
|
if (ok) {
|
2011-03-24 16:09:31 +11:00
|
|
|
if (dirtype == DT_ORTH) {
|
|
|
|
thisdist = getcelldistorth(c, dst);
|
|
|
|
} else {
|
|
|
|
thisdist = getcelldist(c, dst);
|
|
|
|
}
|
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
|
|
|
|
2011-07-01 13:34:41 +10:00
|
|
|
if (thisdist <= mindist) {
|
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
|
|
|
dist[d - DC_N] = thisdist;
|
2011-02-01 06:16:13 +11:00
|
|
|
mindist = thisdist;
|
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
|
|
|
} else {
|
2011-07-01 13:34:41 +10:00
|
|
|
// don't move AWAY from them.
|
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
|
|
|
dist[d - DC_N] = -1;
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
2011-03-18 12:25:18 +11:00
|
|
|
} else {
|
|
|
|
dist[d - DC_N] = -1; // ie. invalid
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
// handle ties
|
|
|
|
nposs = 0;
|
|
|
|
for (d = DC_N; d <= DC_NW; d++) {
|
|
|
|
if (dist[d - DC_N] != -1) {
|
|
|
|
if (dist[d - DC_N] == mindist) {
|
|
|
|
poss[nposs] = d;
|
|
|
|
nposs++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (nposs <= 0) {
|
|
|
|
return D_NONE;
|
|
|
|
}
|
|
|
|
bestdir = poss[rnd(0,nposs-1)];
|
|
|
|
reason = E_OK;
|
2011-02-01 06:16:13 +11:00
|
|
|
|
|
|
|
return bestdir;
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
|
|
|
|
2012-03-20 21:26:33 +11:00
|
|
|
cell_t *getdodgecell(lifeform_t *lf) {
|
|
|
|
int dir;
|
|
|
|
cell_t *c,*poss[8];
|
|
|
|
int nposs = 0;
|
|
|
|
|
|
|
|
for (dir = DC_N; dir <= DC_NW; dir++) {
|
|
|
|
c = getcellindir(lf->cell, dir);
|
|
|
|
if (c && cellwalkable(lf, c, NULL) && !celldangerous(lf, c, B_TRUE, NULL)) {
|
|
|
|
poss[nposs++] = c;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (nposs) {
|
|
|
|
return poss[rnd(0,nposs-1)];
|
|
|
|
}
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
2011-06-23 15:57:55 +10:00
|
|
|
int getwalkoffdir(lifeform_t *lf, int dir) {
|
|
|
|
switch (dir) {
|
|
|
|
case DC_NE:
|
|
|
|
if (lf->cell->y == 0) {
|
2011-06-29 18:48:48 +10:00
|
|
|
return D_N;
|
2011-06-23 15:57:55 +10:00
|
|
|
} else if ( lf->cell->x == (lf->cell->map->w-1)) {
|
2011-06-29 18:48:48 +10:00
|
|
|
return D_E;
|
2011-06-23 15:57:55 +10:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case DC_SE:
|
|
|
|
if (lf->cell->y == (lf->cell->map->h-1)) {
|
2011-06-29 18:48:48 +10:00
|
|
|
return D_S;
|
2011-06-23 15:57:55 +10:00
|
|
|
} else if ( lf->cell->x == (lf->cell->map->w-1)) {
|
2011-06-29 18:48:48 +10:00
|
|
|
return D_E;
|
2011-06-23 15:57:55 +10:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case DC_SW:
|
|
|
|
if (lf->cell->y == (lf->cell->map->h-1)) {
|
2011-06-29 18:48:48 +10:00
|
|
|
return D_S;
|
2011-06-23 15:57:55 +10:00
|
|
|
} else if ( lf->cell->x == 0) {
|
2011-06-29 18:48:48 +10:00
|
|
|
return D_W;
|
2011-06-23 15:57:55 +10:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case DC_NW:
|
|
|
|
if (lf->cell->y == 0) {
|
2011-06-29 18:48:48 +10:00
|
|
|
return D_N;
|
2011-06-23 15:57:55 +10:00
|
|
|
} else if ( lf->cell->x == 0) {
|
2011-06-29 18:48:48 +10:00
|
|
|
return D_W;
|
2011-06-23 15:57:55 +10:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
return D_NONE;
|
|
|
|
}
|
* [+] 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
|
|
|
|
|
|
|
// use 'n/a' for zero chance of falling. 0 means 'calculate based on distance'
|
2012-11-15 22:39:46 +11:00
|
|
|
int knockback(lifeform_t *lf, int dir, int howfar, lifeform_t *pusher, int fallcheckdiff, int wantannounce, int dodam) {
|
2011-09-28 11:05:10 +10:00
|
|
|
int i,dam;
|
2011-03-04 12:22:36 +11:00
|
|
|
char lfname[BUFLEN];
|
* [+] 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
|
|
|
char newlfname[BUFLEN];
|
2011-03-04 12:22:36 +11:00
|
|
|
int seen;
|
* [+] 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 mightfall = B_TRUE;
|
|
|
|
lifeform_t *newlf;
|
- [+] chance to resist knockback?
- [+] "%s staggers backwards, but stands its ground."
- [+] every size over human gives 10% chance to avoid.
- [+] monster jobs
- [+] demonologist - can summon demons
- [+] shaman - summon animals
- [+] bezerker - can use rage
- [+] necromancer
- [+] add f_startjobs to monsters
- [+] in makedesc_race, combine skills up until screen width. ie:
- [+] Novice Listen, Novice CLimbing
- [+] Also combine abilities, ie:
- [+] Ability: jump
- [+] Ability: xxx
- [+] becomes:
- [+] Abilities: jump, xxx
- [+] more psionic spells!
- [+] psionic blast ? daels direct damage to intelligent creatures
( 1 to iq/10 )
- [+] anticipate action: next xxx attacks from target lf against lf
always miss
- [+] "you easily dodge %s%s attack."
- [+] fire should spread on carpetted floors? how to stop it spreading
to the whole dungeon ?
- [+] implement
- [+] test
- [+] new poison type:
- [+] migraine. sound causes pain (1 per volume?). light spells
cause pain too.
- [+] can get this from food too. (instead of gastro ?)
- [+] mental spell to give a migraine - "brainache"
- [+] eating raw meat can give you migraine, or gastro.
- [+] make makedesc_race take player lore skills into account
- [+] in describerace(), make title be:
- [+] Race::glowbug (beginner level knowledge)
- [+] LORE LEVELS:
- [+] NOVICE: common knowledge
- [+] breaths water
- [+] BEGINNER: only known if you've studied it a bit
- [+] nocturnal, damage resistances/vulns
- [+] silentmove
- [+] stability
- [+] ADEPT:
- [+] only know it if you've studied it a LOT
- [+] wantsobs
- [+] spells
- [+] morale
- [+] eating habits
- [+] when attacking something which is immune to your weapon,
warn you.
- [+] (if your lorelev >= beginner)
- [+] change io.c to use command_t table
- [+] when selecting your starting weapon, show damage and accuracy
- [+] scourge gains nullify at high levels
- [+] bug: ur-gnats not flying
- [+] had f_nospells AND f_canwill flight
- [+] made f_nospells not affect F_CANWILL, just F_CANCAST
- [+] shouldn't be able to cook firebug corpses
- [+] fire shoudl make crackling noises
- [+] nullify should anger god of magic, and not upset god of battle
- [+] nullify shouldn't affect natural flight fof birds
- [+] shouldn't remember your surroundings while raging
- [+] lfs shouldn't flee from themselves!
- [+] change attackverb for touch attacks.
- [+] eyebat gaze
- [+] "your pair of sunglasses protects you"
- [+] but the spellcast is never announced!
- [+] fixed.
- [+] stun() should make lf lose concentration
- [+] fix a few logic errors in gaze protection code.
- [+] when i go up level as a scourge, I'm getting "You have gained the
ability 'Nullify' (job perk)."
- [+] i should be getting You have gained the ability 'Nullify VII'
(job perk).
- [+] why isn't 'hte power appearing
- [+] also when i start typing nullify, it says "It is too powerful for
you to cast"
- [+] because levabil isn't keeping pw:xxx text
- [+] BUG in LEVABIL.
2012-02-28 22:02:02 +11:00
|
|
|
int preventchance = 0;
|
|
|
|
enum LFSIZE lfsize;
|
* [+] 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
|
|
|
|
2016-06-01 16:51:09 +10:00
|
|
|
// can't knock non-solid things back
|
|
|
|
if (getmaterialstate(getlfmaterial(lf)) != MS_SOLID) {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
* [+] 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
|
|
|
if (lfhasflag(lf, F_GRAVLESSENED)) {
|
|
|
|
howfar *= 2;
|
|
|
|
} else if (lfhasflag(lf, F_GRAVBOOSTED)) {
|
|
|
|
howfar /= 2;
|
|
|
|
if (howfar < 0) howfar = 0;
|
|
|
|
}
|
|
|
|
|
* [+] 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
|
|
|
// calculate chance of falling
|
|
|
|
if (fallcheckdiff == 0) {
|
|
|
|
// chance based on distance
|
2012-07-18 09:03:17 +10:00
|
|
|
fallcheckdiff = howfar*45;
|
* [+] 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
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
|
2011-03-04 12:22:36 +11:00
|
|
|
getlfname(lf,lfname);
|
2011-03-16 15:45:46 +11:00
|
|
|
if (cansee(player, lf)) {
|
2011-03-04 12:22:36 +11:00
|
|
|
seen = B_TRUE;
|
|
|
|
} else {
|
|
|
|
seen = B_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (dir == D_NONE) {
|
|
|
|
// failed!
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
// if levitating (not flying), knocked back further.
|
|
|
|
if (lfhasflag(lf, F_LEVITATING)) {
|
|
|
|
howfar *= 2;
|
- [+] chance to resist knockback?
- [+] "%s staggers backwards, but stands its ground."
- [+] every size over human gives 10% chance to avoid.
- [+] monster jobs
- [+] demonologist - can summon demons
- [+] shaman - summon animals
- [+] bezerker - can use rage
- [+] necromancer
- [+] add f_startjobs to monsters
- [+] in makedesc_race, combine skills up until screen width. ie:
- [+] Novice Listen, Novice CLimbing
- [+] Also combine abilities, ie:
- [+] Ability: jump
- [+] Ability: xxx
- [+] becomes:
- [+] Abilities: jump, xxx
- [+] more psionic spells!
- [+] psionic blast ? daels direct damage to intelligent creatures
( 1 to iq/10 )
- [+] anticipate action: next xxx attacks from target lf against lf
always miss
- [+] "you easily dodge %s%s attack."
- [+] fire should spread on carpetted floors? how to stop it spreading
to the whole dungeon ?
- [+] implement
- [+] test
- [+] new poison type:
- [+] migraine. sound causes pain (1 per volume?). light spells
cause pain too.
- [+] can get this from food too. (instead of gastro ?)
- [+] mental spell to give a migraine - "brainache"
- [+] eating raw meat can give you migraine, or gastro.
- [+] make makedesc_race take player lore skills into account
- [+] in describerace(), make title be:
- [+] Race::glowbug (beginner level knowledge)
- [+] LORE LEVELS:
- [+] NOVICE: common knowledge
- [+] breaths water
- [+] BEGINNER: only known if you've studied it a bit
- [+] nocturnal, damage resistances/vulns
- [+] silentmove
- [+] stability
- [+] ADEPT:
- [+] only know it if you've studied it a LOT
- [+] wantsobs
- [+] spells
- [+] morale
- [+] eating habits
- [+] when attacking something which is immune to your weapon,
warn you.
- [+] (if your lorelev >= beginner)
- [+] change io.c to use command_t table
- [+] when selecting your starting weapon, show damage and accuracy
- [+] scourge gains nullify at high levels
- [+] bug: ur-gnats not flying
- [+] had f_nospells AND f_canwill flight
- [+] made f_nospells not affect F_CANWILL, just F_CANCAST
- [+] shouldn't be able to cook firebug corpses
- [+] fire shoudl make crackling noises
- [+] nullify should anger god of magic, and not upset god of battle
- [+] nullify shouldn't affect natural flight fof birds
- [+] shouldn't remember your surroundings while raging
- [+] lfs shouldn't flee from themselves!
- [+] change attackverb for touch attacks.
- [+] eyebat gaze
- [+] "your pair of sunglasses protects you"
- [+] but the spellcast is never announced!
- [+] fixed.
- [+] stun() should make lf lose concentration
- [+] fix a few logic errors in gaze protection code.
- [+] when i go up level as a scourge, I'm getting "You have gained the
ability 'Nullify' (job perk)."
- [+] i should be getting You have gained the ability 'Nullify VII'
(job perk).
- [+] why isn't 'hte power appearing
- [+] also when i start typing nullify, it says "It is too powerful for
you to cast"
- [+] because levabil isn't keeping pw:xxx text
- [+] BUG in LEVABIL.
2012-02-28 22:02:02 +11:00
|
|
|
preventchance -= 30;
|
|
|
|
}
|
|
|
|
|
|
|
|
// avoid being moved?
|
|
|
|
lfsize = getlfsize(lf);
|
|
|
|
if (lfhasflag(lf, F_GRAVBOOSTED)) {
|
|
|
|
preventchance += 100;
|
|
|
|
}
|
|
|
|
if (lfsize > SZ_HUMAN ){
|
|
|
|
// 15% chance of avoidance per size > human.
|
|
|
|
preventchance += ((lfsize - SZ_HUMAN) * 15);
|
|
|
|
}
|
|
|
|
if (pctchance(preventchance)) {
|
2012-04-27 11:23:14 +10:00
|
|
|
if (cansee(player, lf)) {
|
|
|
|
msg("%s stagger%s %s but hold%s %s %s.",lfname,isplayer(lf) ? "" : "s",
|
|
|
|
getreldirname(getrelativedir(lf, dir)),
|
|
|
|
isplayer(lf) ? "" : "s", isplayer(lf) ? "your" : "its",
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
isairborne(lf, NULL) ? "position" : "ground");
|
2012-04-27 11:23:14 +10:00
|
|
|
}
|
- [+] chance to resist knockback?
- [+] "%s staggers backwards, but stands its ground."
- [+] every size over human gives 10% chance to avoid.
- [+] monster jobs
- [+] demonologist - can summon demons
- [+] shaman - summon animals
- [+] bezerker - can use rage
- [+] necromancer
- [+] add f_startjobs to monsters
- [+] in makedesc_race, combine skills up until screen width. ie:
- [+] Novice Listen, Novice CLimbing
- [+] Also combine abilities, ie:
- [+] Ability: jump
- [+] Ability: xxx
- [+] becomes:
- [+] Abilities: jump, xxx
- [+] more psionic spells!
- [+] psionic blast ? daels direct damage to intelligent creatures
( 1 to iq/10 )
- [+] anticipate action: next xxx attacks from target lf against lf
always miss
- [+] "you easily dodge %s%s attack."
- [+] fire should spread on carpetted floors? how to stop it spreading
to the whole dungeon ?
- [+] implement
- [+] test
- [+] new poison type:
- [+] migraine. sound causes pain (1 per volume?). light spells
cause pain too.
- [+] can get this from food too. (instead of gastro ?)
- [+] mental spell to give a migraine - "brainache"
- [+] eating raw meat can give you migraine, or gastro.
- [+] make makedesc_race take player lore skills into account
- [+] in describerace(), make title be:
- [+] Race::glowbug (beginner level knowledge)
- [+] LORE LEVELS:
- [+] NOVICE: common knowledge
- [+] breaths water
- [+] BEGINNER: only known if you've studied it a bit
- [+] nocturnal, damage resistances/vulns
- [+] silentmove
- [+] stability
- [+] ADEPT:
- [+] only know it if you've studied it a LOT
- [+] wantsobs
- [+] spells
- [+] morale
- [+] eating habits
- [+] when attacking something which is immune to your weapon,
warn you.
- [+] (if your lorelev >= beginner)
- [+] change io.c to use command_t table
- [+] when selecting your starting weapon, show damage and accuracy
- [+] scourge gains nullify at high levels
- [+] bug: ur-gnats not flying
- [+] had f_nospells AND f_canwill flight
- [+] made f_nospells not affect F_CANWILL, just F_CANCAST
- [+] shouldn't be able to cook firebug corpses
- [+] fire shoudl make crackling noises
- [+] nullify should anger god of magic, and not upset god of battle
- [+] nullify shouldn't affect natural flight fof birds
- [+] shouldn't remember your surroundings while raging
- [+] lfs shouldn't flee from themselves!
- [+] change attackverb for touch attacks.
- [+] eyebat gaze
- [+] "your pair of sunglasses protects you"
- [+] but the spellcast is never announced!
- [+] fixed.
- [+] stun() should make lf lose concentration
- [+] fix a few logic errors in gaze protection code.
- [+] when i go up level as a scourge, I'm getting "You have gained the
ability 'Nullify' (job perk)."
- [+] i should be getting You have gained the ability 'Nullify VII'
(job perk).
- [+] why isn't 'hte power appearing
- [+] also when i start typing nullify, it says "It is too powerful for
you to cast"
- [+] because levabil isn't keeping pw:xxx text
- [+] BUG in LEVABIL.
2012-02-28 22:02:02 +11:00
|
|
|
return B_TRUE;
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
2011-07-21 11:43:45 +10:00
|
|
|
|
2012-12-19 21:42:22 +11:00
|
|
|
breakgrabs(lf, B_TRUE, B_TRUE, B_TRUE);
|
2011-03-04 12:22:36 +11:00
|
|
|
|
|
|
|
for (i = 0; i < howfar; i++) {
|
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
|
|
|
if (moveclear(lf, dir, &reason)) {
|
2011-10-07 13:38:58 +11:00
|
|
|
if ((i == 0) && seen && wantannounce) {
|
- [+] 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
|
|
|
msg("%s %s knocked %s!",lfname,is(lf), getreldirname(getrelativedir(lf, dir)));
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
2011-09-12 09:52:14 +10:00
|
|
|
trymove(lf, dir, B_FALSE, B_FALSE);
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
2011-07-21 11:43:45 +10:00
|
|
|
|
2011-03-04 12:22:36 +11:00
|
|
|
if (reason != E_OK) {
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
char buf[BUFLEN];
|
2011-06-20 13:16:30 +10:00
|
|
|
char thing[BUFLEN];
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
cell_t *newcell;
|
|
|
|
newcell = getcellindir(lf->cell, dir);
|
2011-03-04 12:22:36 +11:00
|
|
|
// failed to move
|
|
|
|
switch (reason) {
|
2011-04-11 15:05:45 +10:00
|
|
|
case E_OFFMAP:
|
2012-05-09 07:57:49 +10:00
|
|
|
if (lf->cell->map->region->id == BH_WORLDMAP) {
|
2011-05-20 06:30:58 +10:00
|
|
|
if (!walkoffmap(lf, dir, B_FALSE)) {
|
|
|
|
// successful
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// fall through
|
|
|
|
case E_WALLINWAY:
|
2011-06-20 13:16:30 +10:00
|
|
|
case E_OBINWAY:
|
|
|
|
case E_DOORINWAY:
|
|
|
|
if (reason == E_WALLINWAY) {
|
2016-05-31 00:21:12 +10:00
|
|
|
if (newcell) {
|
|
|
|
snprintf(thing, BUFLEN, "%s %s", needan(newcell->type->name) ? "an" : "a",newcell->type->name);
|
|
|
|
} else {
|
|
|
|
strcpy(thing, "a wall");
|
|
|
|
}
|
2011-06-20 13:16:30 +10:00
|
|
|
} else { // ie door or object
|
|
|
|
getobname(rdata, thing, 1);
|
|
|
|
}
|
2012-11-15 22:39:46 +11:00
|
|
|
if (seen) {
|
|
|
|
if (dodam) {
|
|
|
|
msg("^%c%s slam%s into %s!^n",getlfcol(lf, CC_BAD), lfname,isplayer(lf) ? "" : "s", thing);
|
|
|
|
} else {
|
|
|
|
msg("%s stop%s %s on %s.^n", lfname,
|
|
|
|
isplayer(lf) ? "" : "s",
|
|
|
|
isplayer(lf) ? "yourself" : "itself", thing);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (dodam) {
|
|
|
|
// 1d6 dam per cell pushed
|
|
|
|
snprintf(buf, BUFLEN, "slamming into %s", thing);
|
|
|
|
dam = rolldie(howfar, 6);
|
|
|
|
losehp(lf, dam, DT_BASH, pusher, buf);
|
|
|
|
}
|
2011-03-04 12:22:36 +11:00
|
|
|
// stop moving
|
|
|
|
i = howfar;
|
* [+] 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
|
|
|
// don't fall
|
|
|
|
mightfall = B_FALSE;
|
2012-11-15 22:39:46 +11:00
|
|
|
if (dodam) {
|
|
|
|
// 20% chance per cell pushed
|
|
|
|
if (pctchance(howfar*20)) criticalhit(NULL, lf, getrandomcorebp(lf, NULL), NULL, dam, DT_BASH);
|
|
|
|
}
|
* [+] 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
|
|
|
break;
|
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
|
|
|
case E_SWIMMING:
|
* [+] 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
|
|
|
case E_LFINWAY:
|
|
|
|
newcell = getcellindir(lf->cell, dir);
|
|
|
|
newlf = newcell->lf;
|
|
|
|
if (newlf) { // should always be true
|
|
|
|
int momentumleft;
|
|
|
|
getlfname(newlf, newlfname);
|
|
|
|
if (seen) msg("%s slam%s into %s!",lfname,isplayer(lf) ? "" : "s",newlfname);
|
|
|
|
// remember our momentum
|
|
|
|
momentumleft = howfar - i;
|
|
|
|
// stop moving
|
|
|
|
i = howfar;
|
|
|
|
// higher chance of both falling
|
|
|
|
if (fallcheckdiff != NA) {
|
2012-07-18 09:03:17 +10:00
|
|
|
fallcheckdiff += (momentumleft*45);
|
* [+] 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
|
|
|
}
|
|
|
|
// confer our remaining momentum on to them
|
2012-11-15 22:39:46 +11:00
|
|
|
knockback(newcell->lf, dir, momentumleft, lf, fallcheckdiff,
|
|
|
|
B_DOANNOUNCE, dodam); // NOTE: recursive call
|
* [+] 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
|
|
|
}
|
2011-03-04 12:22:36 +11:00
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
* [+] 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
|
|
|
|
* [+] 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
|
|
|
if (fallcheckdiff == NA) {
|
|
|
|
mightfall = B_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (mightfall) {
|
* [+] 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
|
|
|
// save to avoid falling
|
* [+] 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
|
|
|
if (!skillcheck(lf, SC_FALL, fallcheckdiff, 0)) {
|
* [+] 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
|
|
|
fall(lf, NULL, B_TRUE);
|
|
|
|
}
|
|
|
|
}
|
2011-03-04 12:22:36 +11:00
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-06-29 18:48:48 +10:00
|
|
|
int makeorthogonal(int dir) {
|
|
|
|
switch (dir) {
|
|
|
|
case DC_N:
|
|
|
|
case D_N:
|
|
|
|
return D_N;
|
|
|
|
case DC_E:
|
|
|
|
case D_E:
|
|
|
|
return D_E;
|
|
|
|
case DC_S:
|
|
|
|
case D_S:
|
|
|
|
return D_S;
|
|
|
|
case DC_W:
|
|
|
|
case D_W:
|
|
|
|
return D_W;
|
|
|
|
}
|
|
|
|
return D_NONE;
|
|
|
|
}
|
|
|
|
|
2011-04-01 10:54:44 +11:00
|
|
|
// see 'movetowards' for description of dirtype
|
2012-04-04 19:59:48 +10:00
|
|
|
int moveawayfrom(lifeform_t *lf, cell_t *dst, int dirtype, int keepinlof, int strafe, int onpurpose ) {
|
2011-02-01 06:16:13 +11:00
|
|
|
int dir;
|
|
|
|
int rv = B_TRUE;
|
2011-03-04 12:22:36 +11:00
|
|
|
|
|
|
|
if (isblind(lf)) {
|
2012-01-30 09:47:43 +11:00
|
|
|
dorandommove(lf, B_TRUE, B_TRUE, B_FALSE);
|
2011-03-04 12:22:36 +11:00
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
// move away from them
|
* [+] 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
|
|
|
dir = getdiraway(lf->cell, dst, lf, B_TRUE, dirtype, keepinlof);
|
2011-03-04 12:22:36 +11:00
|
|
|
if (dir == D_NONE) {
|
|
|
|
rv = B_TRUE;
|
|
|
|
} else {
|
2012-04-04 19:59:48 +10:00
|
|
|
rv = trymove(lf, dir, onpurpose, strafe);
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
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
|
|
|
// ie. is the destination cell free?
|
|
|
|
int moveclear(lifeform_t *lf, int dir, enum ERROR *error) {
|
|
|
|
cell_t *cell;
|
|
|
|
flag_t *f;
|
|
|
|
|
|
|
|
// default
|
|
|
|
if (error) {
|
|
|
|
*error = E_OK;
|
|
|
|
rdata = NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isburdened(lf) >= BR_OVERLOADED) {
|
|
|
|
if (error) *error = E_TOOHEAVY;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
// check if we are paralyzed, frozen, etc
|
|
|
|
if (isimmobile(lf)) {
|
|
|
|
if (error) *error = E_CANTMOVE;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
cell = getcellindir(lf->cell, dir);
|
|
|
|
if (!cell) {
|
|
|
|
if (error) *error = E_OFFMAP;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
f = lfhasflag(lf, F_GRABBEDBY);
|
|
|
|
if (f) {
|
|
|
|
lifeform_t *lf2;
|
|
|
|
lf2 = findlf(NULL, f->val[0]);
|
|
|
|
if (lf2 && (lf2 != cell->lf)) {
|
|
|
|
if (error) {
|
|
|
|
rdata = lf2;
|
|
|
|
*error = E_GRABBEDBY;
|
|
|
|
}
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-07-01 13:34:41 +10:00
|
|
|
if ((lf->race->raceclass->id == RC_DEMON) && hasob(cell->obpile, OT_PENTAGRAM)) {
|
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
|
|
|
*error = E_PENTAGRAM;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// not attacking
|
|
|
|
if (lfhasflag(lf, F_DOESNTMOVE) && !cell->lf) {
|
|
|
|
*error = E_CANTMOVE;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
return cellwalkable(lf, cell, error);
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
|
- [+] 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
|
|
|
// effects which happen _after_ player moves or attacks.
|
2011-04-11 15:05:45 +10:00
|
|
|
// IMPORTANT: don't modify lf's flagpile during this code!
|
|
|
|
// particularly don't remove flags...
|
* [+] 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
|
|
|
// returns TRUE if we displayed a message
|
- [+] 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 moveeffects(lifeform_t *lf, int moved) {
|
2011-03-22 18:06:28 +11:00
|
|
|
flag_t *f;
|
* [+] 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 didmsg = B_FALSE;
|
2011-03-22 18:06:28 +11:00
|
|
|
|
- [+] 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
|
|
|
// effects which only happen if you actually moved (not attacked)
|
|
|
|
if (moved) {
|
2012-12-02 16:40:58 +11:00
|
|
|
if (!isairborne(lf, NULL) && lfhasflagval(lf, F_INJURY, IJ_HAMSTRUNG, NA, NA, NULL)) {
|
2012-07-18 09:03:17 +10:00
|
|
|
if (!skillcheck(lf, SC_FALL, 80, 0)) {
|
- [+] 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
|
|
|
fall(lf, NULL, B_TRUE);
|
|
|
|
if (isplayer(lf)) didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (onein(10) && lfhasflagval(lf, F_INJURY, IJ_TAILLACERATED, NA, NA, NULL)) {
|
- [+] 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
|
|
|
fall(lf, NULL, B_TRUE);
|
|
|
|
if (isplayer(lf)) didmsg = B_TRUE;
|
|
|
|
}
|
- [+] 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
|
|
|
|
- [+] 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
|
|
|
if (isbleeding(lf)) {
|
|
|
|
if (hasbleedinginjury(lf, BP_LEGS)) {
|
|
|
|
if (!bleedfrom(lf, BP_LEGS, B_FALSE)) {
|
|
|
|
if (isplayer(lf)) msg("^BYou bleed!");
|
|
|
|
losehp(lf, 1, DT_DIRECT, NULL, "blood loss");
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (rnd(1,2) == 1) {
|
2012-06-03 08:43:18 +10:00
|
|
|
bleed(lf, B_NOSPLATTER);
|
- [+] 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
|
|
|
}
|
2011-08-24 18:15:09 +10:00
|
|
|
}
|
2011-03-22 18:06:28 +11:00
|
|
|
}
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
|
|
|
|
if (lfhasflag(lf, F_GERMS)) {
|
|
|
|
object_t *o;
|
|
|
|
for (o = lf->cell->obpile->first; o ; o = o->next) {
|
|
|
|
if (isedible(o) && !hasflag(o->flags, F_TAINTED)) {
|
|
|
|
addflag(o->flags, F_TAINTED, B_TRUE, NA, NA, NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-03-22 18:06:28 +11:00
|
|
|
}
|
|
|
|
|
2011-11-23 08:32:10 +11:00
|
|
|
if (lfhasflagval(lf, F_INJURY, IJ_WINGBLEED, NA, NA, NULL)) {
|
|
|
|
flag_t *retflag[MAXCANDIDATES];
|
|
|
|
int nretflags,i;
|
|
|
|
getflags(lf->flags, retflag, &nretflags, F_FLYING, F_NONE);
|
|
|
|
for (i = 0; i < nretflags; i++) {
|
|
|
|
if (retflag[i]->lifetime == FROMRACE) {
|
|
|
|
if (!bleedfrom(lf, BP_WINGS, B_FALSE)) {
|
2012-01-03 12:21:22 +11:00
|
|
|
if (isplayer(lf)) msg("^BYou bleed!");
|
2011-11-23 08:32:10 +11:00
|
|
|
losehp(lf, 1, DT_DIRECT, NULL, "blood loss");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-03-22 18:06:28 +11:00
|
|
|
f = lfhasflag(lf, F_PAIN);
|
|
|
|
if (f) {
|
- [+] 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
|
|
|
if (!lfhasflag(lf, F_DRUNK)) {
|
* [+] 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 dam;
|
2011-04-14 09:44:29 +10:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("Your body is wracked with pain!");
|
* [+] 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
|
|
|
didmsg = B_TRUE;
|
2011-04-14 09:44:29 +10:00
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
char lfname[BUFLEN];
|
|
|
|
getlfname(lf, lfname);
|
|
|
|
msg("%s convulses in pain!",lfname);
|
* [+] 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
|
|
|
didmsg = B_TRUE;
|
2011-04-14 09:44:29 +10: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
|
|
|
|
|
|
|
if (strlen(f->text)) {
|
|
|
|
dam = roll(f->text);
|
|
|
|
} else {
|
|
|
|
dam = roll("1d2");
|
|
|
|
}
|
|
|
|
losehp(lf, dam, f->val[0], NULL, "extreme pain");
|
|
|
|
if (isdead(lf)) return didmsg;
|
2011-03-22 18:06:28 +11:00
|
|
|
}
|
|
|
|
}
|
2011-04-11 15:05:45 +10: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
|
|
|
return didmsg;
|
2011-03-22 18:06:28 +11:00
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
|
|
|
|
|
|
|
|
// returns TRUE if something happened
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
int movelf(lifeform_t *lf, cell_t *newcell, int onpurpose) {
|
2010-12-07 18:34:26 +11:00
|
|
|
object_t *o,*nexto;
|
- [+] 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
|
|
|
cell_t *precell;
|
2012-11-27 21:27:54 +11:00
|
|
|
enum TEMPERATURE pretemp,posttemp;
|
2010-12-07 18:34:26 +11:00
|
|
|
char obname[BUFLEN],lfname[BUFLEN],buf[BUFLEN];
|
2011-02-01 06:16:13 +11:00
|
|
|
lifeform_t *l;
|
|
|
|
int didmsg = B_FALSE;
|
|
|
|
flag_t *f;
|
2012-02-05 10:26:16 +11:00
|
|
|
enum FLAG flying;
|
2011-03-22 18:06:28 +11:00
|
|
|
int changedlev = B_FALSE;
|
2011-09-28 04:56:58 +10:00
|
|
|
room_t *preroom = NULL, *postroom = NULL;
|
2012-02-08 10:28:48 +11:00
|
|
|
//int preshop = -1;
|
* [+] 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 prespeed = B_FALSE, postspeed = B_FALSE;
|
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 prewater = B_FALSE;
|
- [+] 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 preseenbyplayer = B_FALSE;
|
2012-02-08 10:28:48 +11:00
|
|
|
//vault_t *v;
|
2012-02-05 10:26:16 +11:00
|
|
|
flag_t *retflag[MAXCANDIDATES];
|
|
|
|
int nretflags,i;
|
- [+] 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 autoangry = B_FALSE;
|
2011-02-01 06:16:13 +11:00
|
|
|
|
* [+] 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
|
|
|
assert(newcell);
|
|
|
|
|
2011-03-04 12:22:36 +11:00
|
|
|
getlfname(lf, lfname);
|
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
if (gamemode == GM_GAMESTARTED) {
|
|
|
|
if (isplayer(lf) || cansee(player, lf)) {
|
|
|
|
needredraw = B_TRUE;
|
|
|
|
}
|
* [+] 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
|
|
|
|
2012-11-27 21:27:54 +11:00
|
|
|
pretemp = getlftemp(lf);
|
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
if (newcell->map != lf->cell->map) {
|
|
|
|
changedlev = B_TRUE;
|
2012-06-22 12:48:39 +10:00
|
|
|
lf->changinglev = B_TRUE;
|
|
|
|
|
- [+] 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
|
|
|
setlosdirty(lf);
|
2012-01-09 17:53:52 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
// remember the time which we exitted this map.
|
|
|
|
lf->cell->map->lastplayervisit = curtime;
|
|
|
|
}
|
2011-08-25 09:48:29 +10:00
|
|
|
}
|
2011-03-22 18:06:28 +11:00
|
|
|
|
2012-02-02 15:33:24 +11:00
|
|
|
if (changedlev) {
|
|
|
|
// used for one of Yumi's effects
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
addtempflag(lf->flags, F_JUSTENTERED, B_TRUE, NA, NA, NULL, isplayer(lf) ? 1 : 2);
|
2012-02-02 15:33:24 +11:00
|
|
|
}
|
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
// special effects when the player moves to a new map
|
|
|
|
if (changedlev && isplayer(lf)) {
|
|
|
|
object_t *o;
|
|
|
|
long barrierid = -1;
|
2012-02-02 15:33:24 +11:00
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
// mapentereffects will give all monster on the new map
|
|
|
|
// a bunch of turns to simulate time passing while the player
|
|
|
|
// was away. to prevent them from blocking off the staircase cell
|
|
|
|
// where the player is about to arrive, place a magic barrier over it.
|
|
|
|
o = addobfast(newcell->obpile, OT_MAGICBARRIER);
|
|
|
|
if (o) barrierid = o->id;
|
|
|
|
|
|
|
|
mapentereffects(newcell->map);
|
|
|
|
|
|
|
|
// now remove the barrier
|
|
|
|
o = hasobid(newcell->obpile, barrierid);
|
|
|
|
if (o) killob(o);
|
2012-06-22 12:48:39 +10:00
|
|
|
|
2013-01-03 15:39:34 +11:00
|
|
|
if (isplayer(lf)) redrawresume();
|
2012-01-09 17:53:52 +11:00
|
|
|
}
|
2011-08-25 09:48:29 +10:00
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
// remember current cell + room id
|
|
|
|
prespeed = getmovespeed(lf);
|
|
|
|
preroom = lf->cell->room;
|
2012-02-08 10:28:48 +11:00
|
|
|
/*
|
2012-01-09 17:53:52 +11:00
|
|
|
v = getcellvault(lf->cell);
|
|
|
|
if (v && hasflag(v->flags, F_VAULTISSHOP)) {
|
|
|
|
preshop = getroomid(lf->cell);
|
|
|
|
}
|
2012-02-08 10:28:48 +11:00
|
|
|
*/
|
2012-01-09 17:53:52 +11:00
|
|
|
// getting out of water?
|
|
|
|
if (hasobwithflag(lf->cell->obpile, F_DEEPWATER)) {
|
|
|
|
prewater = B_TRUE;
|
|
|
|
}
|
2011-08-25 09:48:29 +10:00
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
if (!isplayer(lf) && cansee(player, lf)) {
|
|
|
|
preseenbyplayer = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
prespeed = SP_NORMAL;
|
|
|
|
preroom = NULL;
|
2012-02-08 10:28:48 +11:00
|
|
|
//preshop = B_FALSE;
|
2012-01-09 17:53:52 +11:00
|
|
|
prewater = B_FALSE;
|
|
|
|
preseenbyplayer = B_FALSE;
|
- [+] 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
|
|
|
}
|
|
|
|
|
- [+] 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
|
|
|
|
- [+] 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
|
|
|
precell = lf->cell;
|
|
|
|
|
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
|
|
|
// move out...
|
|
|
|
lf->cell->lf = NULL;
|
2010-12-02 12:17:54 +11:00
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
// if required, relink lifeform to new map
|
|
|
|
if (newcell->map != lf->cell->map) {
|
2012-01-09 17:53:52 +11:00
|
|
|
if (gamemode == GM_GAMESTARTED) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
statdirty = B_TRUE;
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
relinklf(lf, newcell->map);
|
2012-01-09 17:53:52 +11:00
|
|
|
if (gamemode == GM_GAMESTARTED) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
// clear map to force redraw.
|
|
|
|
wclear(gamewin);
|
|
|
|
}
|
2011-05-16 12:03:25 +10:00
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
if (gamemode == GM_GAMESTARTED) {
|
|
|
|
// remember previous cells
|
|
|
|
lf->prevcell[1] = lf->prevcell[0];
|
|
|
|
lf->prevcell[0] = lf->cell;
|
|
|
|
}
|
2011-07-01 13:34:41 +10:00
|
|
|
|
2010-12-02 12:17:54 +11:00
|
|
|
// update lifeform
|
|
|
|
lf->cell = newcell;
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
// nothing should be in new cell..
|
|
|
|
assert(!newcell->lf);
|
|
|
|
|
2011-04-14 09:44:29 +10:00
|
|
|
// remember new room...
|
2012-01-09 17:53:52 +11:00
|
|
|
if (gamemode == GM_GAMESTARTED) {
|
|
|
|
postroom = lf->cell->room;
|
|
|
|
postspeed = getmovespeed(lf);
|
2012-11-27 21:27:54 +11:00
|
|
|
posttemp = getlftemp(lf);
|
2012-01-09 17:53:52 +11:00
|
|
|
}
|
2011-04-14 09:44:29 +10:00
|
|
|
|
2010-12-02 12:17:54 +11:00
|
|
|
// update new cell
|
|
|
|
newcell->lf = 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
|
|
|
setlosdirty(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
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
if (gamemode == GM_GAMESTARTED) {
|
|
|
|
// update light
|
2012-08-02 14:08:27 +10:00
|
|
|
/*
|
2012-03-30 14:34:24 +11:00
|
|
|
if ((isplayer(lf) && changedlev) || lfproduceslight(lf, NULL)) {
|
2012-01-09 17:53:52 +11:00
|
|
|
calclight(lf->cell->map);
|
- [+] 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
|
|
|
setlosdirty(lf);
|
2012-01-09 17:53:52 +11:00
|
|
|
}
|
2012-08-02 14:08:27 +10:00
|
|
|
*/
|
2012-01-09 17:53:52 +11:00
|
|
|
//precalclos(lf);
|
2011-03-22 18:06:28 +11:00
|
|
|
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
// refresh name of lf, in case it came into view.
|
|
|
|
getlfname(lf, lfname);
|
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
if (isplayer(lf) || cansee(player, lf)) {
|
|
|
|
needredraw = B_TRUE;
|
|
|
|
}
|
2011-04-14 09:44:29 +10:00
|
|
|
|
- [+] 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
|
|
|
didmsg = moveeffects(lf, B_TRUE);
|
2012-01-09 17:53:52 +11:00
|
|
|
|
- [+] 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
|
|
|
if (lfhasflag(lf, F_HIDING) && (getskill(lf, SK_STEALTH) < PR_BEGINNER)) {
|
|
|
|
killflagsofid(lf->flags, F_HIDING);
|
|
|
|
}
|
2012-01-09 17:53:52 +11:00
|
|
|
|
|
|
|
// remove grabs (but not attached things)
|
|
|
|
// Note: only remove this from the person _being grabbed_.
|
|
|
|
// if the grabb_er_ moves away, they'll drag the grabee with them.
|
|
|
|
f = lfhasflag(lf, F_GRABBEDBY);
|
|
|
|
if (f) {
|
|
|
|
lifeform_t *grabber;
|
|
|
|
grabber = findlf(NULL, f->val[0]);
|
|
|
|
assert(grabber);
|
|
|
|
if (getcelldist(lf->cell, grabber->cell) > 1) {
|
|
|
|
killflagsofid(grabber->flags, F_GRABBING);
|
|
|
|
killflagsofid(lf->flags, F_GRABBEDBY);
|
|
|
|
}
|
2011-05-27 10:41:34 +10:00
|
|
|
}
|
2011-03-10 16:47:18 +11:00
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
// passwall ends when you walk onto a non-solid cell.
|
|
|
|
f = lfhasflag(lf, F_NONCORPOREAL);
|
|
|
|
if (f && (f->obfrom == OT_S_PASSWALL)) {
|
|
|
|
enum ERROR err;
|
|
|
|
cellwalkable(lf, lf->cell, &err);
|
|
|
|
if (err == E_OK) {
|
|
|
|
stopspell(lf, OT_S_PASSWALL);
|
|
|
|
killflag(f);
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
}
|
* [+] 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
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2010-12-07 18:34:26 +11:00
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
if (prewater && !hasobwithflag(newcell->obpile, F_DEEPWATER)) {
|
|
|
|
// getitng out of water?
|
|
|
|
statdirty = B_TRUE;
|
|
|
|
}
|
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
|
|
|
}
|
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
// check ground objects
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
flying = isairborne(lf, NULL);
|
2012-02-05 10:26:16 +11:00
|
|
|
if (flying == F_NONE) {
|
2012-01-09 17:53:52 +11:00
|
|
|
for (o = newcell->obpile->first ; o ; o = nexto ) {
|
|
|
|
nexto = o->next;
|
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
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
f = hasflag(o->flags, F_DEEPWATER);
|
|
|
|
if (f) {
|
2012-03-22 07:42:06 +11:00
|
|
|
/*
|
2012-01-09 17:53:52 +11:00
|
|
|
if (checkfordrowning(lf, o)) {
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
if (isdead(lf)) return B_TRUE;
|
|
|
|
}
|
2012-03-22 07:42:06 +11:00
|
|
|
*/
|
2012-01-09 17:53:52 +11:00
|
|
|
// did you just enter the water?
|
|
|
|
if (!prewater) {
|
2012-03-22 07:42:06 +11:00
|
|
|
if ((getobdepth(o, lf) >= DP_WAIST)) {
|
|
|
|
if (getskill(lf, SK_SWIMMING)) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You start swimming.");
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
statdirty = B_TRUE;
|
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
msg("%s starts swimming.", lfname);
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You enter the water.");
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
msg("%s enters the water.", lfname);
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
}
|
2012-01-09 17:53:52 +11:00
|
|
|
}
|
|
|
|
// put out fires
|
|
|
|
extinguishlf(lf);
|
|
|
|
|
|
|
|
// stop sprinting
|
|
|
|
stopsprinting(lf);
|
|
|
|
|
|
|
|
noise(lf->cell, NULL, NC_OTHER, SV_TALK, "a splash.", NULL);
|
|
|
|
}
|
|
|
|
}
|
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
|
|
|
}
|
2012-01-09 17:53:52 +11:00
|
|
|
|
|
|
|
f = hasflag(o->flags, F_SHARP);
|
2012-12-02 16:40:58 +11:00
|
|
|
if (f && hasbp(lf, BP_FEET) && !lfhasflag(lf, F_CAREFULMOVE) && !isairborne(lf, NULL)) {
|
2012-01-09 17:53:52 +11:00
|
|
|
object_t *boots;
|
|
|
|
// has boots on?
|
2012-12-06 15:57:13 +11:00
|
|
|
boots = getouterequippedob(lf, BP_FEET);
|
2012-01-09 17:53:52 +11:00
|
|
|
if (!boots) {
|
|
|
|
// take damage
|
|
|
|
getobname(o, obname, 1);
|
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
|
|
|
if (isplayer(lf)) {
|
2012-01-09 17:53:52 +11:00
|
|
|
msg("Ow - you step on %s!",obname);
|
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
|
|
|
didmsg = B_TRUE;
|
2012-01-09 17:53:52 +11:00
|
|
|
} else if (haslos(player, newcell)) {
|
|
|
|
msg("%s steps on %s!",lfname, obname);
|
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
|
|
|
didmsg = B_TRUE;
|
|
|
|
}
|
2012-01-09 17:53:52 +11:00
|
|
|
snprintf(buf, BUFLEN, "stepping on %s", obname);
|
|
|
|
losehp(lf, rnd(f->val[0],f->val[1]), DT_SLASH, NULL, buf);
|
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
|
|
|
}
|
|
|
|
}
|
|
|
|
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
if (!lfhasflag(lf, F_CAREFULMOVE)) {
|
|
|
|
if (cancrush(lf, o)) {
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
int maxhp;
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
// crush it
|
|
|
|
getobname(o, obname, 1);
|
|
|
|
|
|
|
|
// special case
|
|
|
|
if (o->type->id == OT_BROKENGLASS) {
|
|
|
|
if (o->amt > 1) {
|
|
|
|
char *newname;
|
|
|
|
// we want 'xx steps on some pieces of broken glass'
|
|
|
|
// not 'xx steps on 5 pieces of broken glass'
|
2016-05-31 00:21:12 +10:00
|
|
|
newname = strdup(obname);
|
|
|
|
makeplural(&newname);
|
2012-11-14 15:59:18 +11:00
|
|
|
strrep(&newname, "a ", "some ", NULL);
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
strcpy(obname, newname);
|
|
|
|
free(newname);
|
|
|
|
}
|
2012-01-09 17:53:52 +11:00
|
|
|
}
|
2011-03-04 12:22:36 +11:00
|
|
|
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You crush %s underfoot.",obname);
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
} else if (haslos(player, newcell)) {
|
|
|
|
msg("%s crushes %s.",lfname, obname);
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
// kill object which is being crushed.
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
//removeob(o, o->amt);
|
|
|
|
getobhp(o, &maxhp);
|
|
|
|
if (maxhp) {
|
|
|
|
takedamage(o, maxhp, DT_CRUSH, lf);
|
|
|
|
} else {
|
|
|
|
removeob(o, ALL);
|
|
|
|
}
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
angergodmaybe(R_GODNATURE, 10, GA_ATTACKOBJECT);
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
pleasegodmaybe(R_GODFIRE, 2);
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
}
|
|
|
|
continue;
|
|
|
|
}
|
2012-11-07 07:32:56 +11:00
|
|
|
if (hasflag(o->flags, F_DIMONDISTURB)) {
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
f = hasflag(o->flags, F_PRODUCESLIGHT);
|
|
|
|
getobname(o, obname, o->amt);
|
|
|
|
if (f) f->val[0]--;
|
|
|
|
if (!f || (f->val[0] <= 0)) {
|
|
|
|
if (haslos(player, newcell)) {
|
|
|
|
msg("%s dim%s and crumbles.",obname,
|
|
|
|
(o->amt == 1) ? "s" : "");
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
removeob(o, ALL);
|
|
|
|
continue;
|
|
|
|
} else {
|
|
|
|
if (haslos(player, newcell)) {
|
|
|
|
msg("%s dim%s slightly.",obname,
|
|
|
|
(o->amt == 1) ? "s" : "");
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
2012-11-07 07:32:56 +11:00
|
|
|
} // end if dimondisturb
|
2012-01-09 17:53:52 +11:00
|
|
|
} // end if crushable
|
2011-03-04 12:22:36 +11:00
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
if ((o->type->id == OT_VINE) && !hasjob(lf, J_DRUID)) {
|
|
|
|
char obname[BUFLEN];
|
|
|
|
getobname(o,obname,o->amt);
|
2011-03-04 12:22:36 +11:00
|
|
|
if (isplayer(lf)) {
|
2012-01-09 17:53:52 +11:00
|
|
|
msg("%s grab%s you!",obname,OBS1(o));
|
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
msg("%s grab%s %s!",obname, OBS1(o), lfname);
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
* [+] 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
|
|
|
}
|
2012-06-25 22:49:53 +10:00
|
|
|
|
|
|
|
// objects which explode when you walk onto them
|
|
|
|
f = hasflag(o->flags, F_EXPLODEONMOTION);
|
|
|
|
if (f) {
|
|
|
|
if (f->val[2] == B_IFACTIVATED) {
|
|
|
|
if (isactivated(o)) {
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
explodeob(o, f, f->val[1], NULL);
|
2012-06-25 22:49:53 +10:00
|
|
|
break; // stop processing other objects, the explosion may have killed them.
|
|
|
|
}
|
|
|
|
} else {
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
explodeob(o, f, f->val[1], NULL);
|
2012-06-25 22:49:53 +10:00
|
|
|
break; // stop processing other objects, the explosion may have killed them.
|
|
|
|
}
|
|
|
|
}
|
2012-01-09 17:53:52 +11:00
|
|
|
} // end foreach object in cell
|
|
|
|
} // end if !flying
|
2010-12-07 18:34:26 +11:00
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
// update where player knows
|
|
|
|
// (but without a map you will then slowly forget it)
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
updateknowncells();
|
|
|
|
|
|
|
|
// TODO: not sure about this next bit yet...
|
|
|
|
// it definitely won't work for non-square rooms
|
|
|
|
// or rooms with pillars. would be better to fix
|
|
|
|
// haslos() code to handle looking along walls
|
|
|
|
// instead.
|
|
|
|
// if you walked into a new fully lit room, which
|
|
|
|
// ISNT a vault, reveal it.
|
|
|
|
//
|
|
|
|
|
|
|
|
/*
|
|
|
|
if ((getskill(lf, SK_CARTOGRAPHY) >= PR_NOVICE) && (!lf->cell->vault)) {
|
|
|
|
if ((postroom > 0) && (postroom != preroom)) {
|
|
|
|
cell_t *c[MAX_MAPW*MAX_MAPH];
|
|
|
|
int ncells;
|
|
|
|
int i,alllit = B_TRUE,allknown = B_TRUE;
|
|
|
|
|
|
|
|
// is the whole room lit?
|
|
|
|
getroomcells(lf->cell->map, postroom, c, &ncells);
|
2011-05-20 06:30:58 +10:00
|
|
|
for (i = 0; i < ncells; i++) {
|
2012-01-09 17:53:52 +11:00
|
|
|
if (!islit(c[i])) {
|
|
|
|
alllit = B_FALSE;
|
|
|
|
}
|
|
|
|
if (!c[i]->known) {
|
|
|
|
allknown = B_FALSE;
|
|
|
|
}
|
2011-05-20 06:30:58 +10:00
|
|
|
}
|
2012-01-09 17:53:52 +11:00
|
|
|
|
|
|
|
if (alllit && !allknown) {
|
|
|
|
// make the all known
|
|
|
|
for (i = 0; i < ncells; i++) {
|
|
|
|
setcellknown(c[i], B_FALSE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-05-20 06:30:58 +10:00
|
|
|
}
|
2011-04-14 09:44:29 +10:00
|
|
|
}
|
2012-01-09 17:53:52 +11:00
|
|
|
*/
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
|
2011-09-28 04:56:58 +10:00
|
|
|
if (isplayer(lf) && !isblind(lf)) {
|
|
|
|
// see the vault
|
|
|
|
if (!preroom && postroom && postroom->vault) {
|
|
|
|
f = hasflag(postroom->vault->flags, F_VAULTENTERTEXT);
|
|
|
|
if (f) {
|
2011-12-08 13:55:14 +11:00
|
|
|
msg("%s", f->text); more();
|
- [+] 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
|
|
|
didmsg = B_TRUE;
|
2011-09-28 04:56:58 +10:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
- [+] 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
|
|
|
// amulet of victimisation?
|
|
|
|
if (hasequippedobid(lf->pack, OT_AMU_VICTIM)) {
|
|
|
|
autoangry = B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-09-28 04:56:58 +10:00
|
|
|
// does anyone else see you?
|
2011-03-10 16:47:18 +11:00
|
|
|
for (l = newcell->map->lf ; l ; l = l->next) {
|
|
|
|
if (l != lf) {
|
2011-06-20 13:16:30 +10:00
|
|
|
flag_t *alarm;
|
* [+] 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
|
|
|
if (cansee(l, lf)) {
|
2011-03-24 16:09:31 +11:00
|
|
|
int dointerrupt = B_FALSE;
|
|
|
|
|
- [+] 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
|
|
|
if (autoangry && !isplayer(l) && !lfhasflag(l, F_HOSTILE)) {
|
|
|
|
addflag(l->flags, F_HOSTILE, B_TRUE, NA, NA, NULL);
|
|
|
|
}
|
|
|
|
|
2011-08-24 18:15:09 +10:00
|
|
|
// much larger creatures moving will cause our los to be recalculated
|
|
|
|
if (getlfsize(lf) - getlfsize(l) >= 2) {
|
- [+] 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
|
|
|
setlosdirty(l);
|
|
|
|
//precalclos(l);
|
2011-08-24 18:15:09 +10:00
|
|
|
}
|
|
|
|
|
2012-04-07 17:18:56 +10:00
|
|
|
if (isplayer(l) && !isplayer(lf)) { // player saw someone move
|
|
|
|
if (areenemies(lf, l) || !isknownpeaceful(lf) ) {
|
- [+] 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
|
|
|
if (!preseenbyplayer) {
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
char buf[BUFLEN];
|
* [+] 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
|
|
|
// TODO: also check for isresting(l), if we have allies standing watch
|
2011-07-29 08:45:34 +10:00
|
|
|
getlfnamea(lf, lfname);
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
getmoveverbother(lf, buf);
|
|
|
|
msg("%s %s into view.", lfname, buf);
|
2011-03-24 16:09:31 +11:00
|
|
|
}
|
|
|
|
dointerrupt = B_TRUE;
|
- [+] 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
|
|
|
// mark the observed race as known.
|
2012-01-03 12:21:22 +11:00
|
|
|
if (!lf->race->known) {
|
|
|
|
raceclass_t *rc;
|
|
|
|
lf->race->known = B_TRUE;
|
|
|
|
rc = findraceclass(lf->race->raceclass->id);
|
|
|
|
if (rc) {
|
2016-05-31 00:21:12 +10:00
|
|
|
practice(lf, rc->skill, 2);
|
2012-01-03 12:21:22 +11:00
|
|
|
}
|
|
|
|
}
|
2011-03-10 16:47:18 +11:00
|
|
|
}
|
- [+] 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
|
|
|
} else if (isplayer(lf)) { // someone saw the player move.
|
* [+] 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
|
|
|
if (areallies(lf, l)) {
|
2011-04-11 15:05:45 +10:00
|
|
|
// remember player's last known loc
|
|
|
|
f = lfhasflag(l, F_PETOF);
|
|
|
|
if (f) {
|
|
|
|
f->val[1] = player->cell->x;
|
|
|
|
f->val[2] = player->cell->y;
|
|
|
|
}
|
|
|
|
}
|
2011-04-14 09:44:29 +10:00
|
|
|
//dointerrupt = B_TRUE;
|
2011-03-24 16:09:31 +11:00
|
|
|
}
|
|
|
|
if (dointerrupt) {
|
|
|
|
interrupt(l);
|
2011-02-16 05:21:33 +11:00
|
|
|
}
|
2011-06-20 13:16:30 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
alarm = hasactivespell(l, OT_S_ALARM);
|
|
|
|
if (alarm && areenemies(lf, l) && haslof(lf->cell, l->cell, LOF_WALLSTOP, NULL) ) {
|
|
|
|
// in range of alarm? range is 3 * spell power cells.
|
|
|
|
if (getcelldist(lf->cell, l->cell) <= (alarm->val[2]*3)) {
|
2011-12-28 16:06:47 +11:00
|
|
|
// incredibly loud alarm goes off
|
2011-07-01 13:34:41 +10:00
|
|
|
noise(l->cell, NULL, NC_OTHER, 50, "a blaring siren!", NULL);
|
2011-06-20 13:16:30 +10:00
|
|
|
killflag(alarm);
|
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
}
|
2011-06-29 18:48:48 +10:00
|
|
|
|
2012-02-08 10:28:48 +11:00
|
|
|
/*
|
2011-06-29 18:48:48 +10:00
|
|
|
// leaving a shop
|
|
|
|
if (preshop) {
|
|
|
|
// are you about to go outside a shop with stolen goods?
|
2011-08-24 18:15:09 +10:00
|
|
|
if ((getroomid(lf->cell) == preshop) && (lf->cell->type->id != CT_FLOORSHOP)) {
|
2011-06-29 18:48:48 +10:00
|
|
|
lifeform_t *shk;
|
2011-07-01 13:34:41 +10:00
|
|
|
int nitems = 0;
|
2011-06-29 18:48:48 +10:00
|
|
|
shk = findshopkeeper(lf->cell->map, preshop);
|
2011-07-01 13:34:41 +10:00
|
|
|
// do you have any unpaid items from that shop?
|
|
|
|
if (shk && getowing(lf, preshop, &nitems)) {
|
|
|
|
// warning...
|
* [+] 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
|
|
|
sayphrase(shk, SP_PAYWARN, SV_SHOUT, NA, (nitems == 1) ? "that" : "those" );
|
2011-07-01 13:34:41 +10:00
|
|
|
didmsg = B_TRUE;
|
2011-06-29 18:48:48 +10:00
|
|
|
}
|
2011-08-24 18:15:09 +10:00
|
|
|
} else if (getroomid(lf->cell) != preshop) {
|
2011-06-29 18:48:48 +10:00
|
|
|
// you've left the shop
|
|
|
|
lifeform_t *shk;
|
|
|
|
shk = findshopkeeper(lf->cell->map, preshop);
|
|
|
|
if (shk && getowing(lf, preshop, NULL)) {
|
|
|
|
// call the guards
|
2011-12-28 16:06:47 +11:00
|
|
|
sayphrase(shk, SP_PAYTHREAT, SV_CAR, NA, NULL);
|
2011-06-29 18:48:48 +10:00
|
|
|
didmsg = B_TRUE;
|
|
|
|
fightback(shk, lf); // shopkeeper attacks
|
|
|
|
callguards(shk, lf); // guards come running
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2012-02-08 10:28:48 +11:00
|
|
|
*/
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
if (onpurpose && preseenbyplayer && !cansee(player, lf) && !changedlev) {
|
- [+] 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
|
|
|
if (isadjacent(lf->cell, precell)) { // ie don't say this if we teleported/jumped
|
|
|
|
if (areenemies(player, lf)) {
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
char buf[BUFLEN];
|
2012-11-30 07:18:21 +11:00
|
|
|
int behind = B_FALSE;
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
getmoveverbother(lf, buf);
|
2012-03-29 07:17:47 +11:00
|
|
|
real_getlfnamea(lf, lfname, NULL, B_NOSHOWALL, B_CURRACE);
|
2012-11-30 07:18:21 +11:00
|
|
|
if (isbehind(lf, player) && isadjacent(lf->cell, player->cell)) {
|
|
|
|
behind = B_TRUE;
|
|
|
|
}
|
|
|
|
msg("%s %s %s.", lfname, buf, behind ? "behind you" : "out of view");
|
- [+] 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
|
|
|
}
|
2012-01-09 17:53:52 +11:00
|
|
|
}
|
- [+] 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
|
|
|
}
|
2012-02-05 10:26:16 +11:00
|
|
|
|
2012-11-27 21:27:54 +11:00
|
|
|
if (pretemp != posttemp) {
|
|
|
|
char colchar;
|
|
|
|
char punc;
|
|
|
|
switch (posttemp) {
|
|
|
|
case T_VCOLD:
|
|
|
|
case T_VHOT:
|
|
|
|
colchar = 'B';
|
|
|
|
punc = '!';
|
|
|
|
break;
|
|
|
|
case T_COLD:
|
|
|
|
case T_HOT:
|
|
|
|
colchar = 'w';
|
|
|
|
punc = '!';
|
|
|
|
break;
|
|
|
|
case T_WARM:
|
|
|
|
case T_CHILLY:
|
|
|
|
case T_NORMAL:
|
|
|
|
colchar = 'n';
|
|
|
|
punc = '.';
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
if (posttemp == T_NORMAL) {
|
|
|
|
msg("^%cThe temperature is now more comfortable%c", colchar, punc);
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
} else {
|
|
|
|
msg("^%cYou feel %s%c", colchar, gettemperaturename(posttemp), punc);
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
} else if (cansee(player, lf) && (getlorelevel(player, getraceclass(lf)) >= PR_BEGINNER)) {
|
|
|
|
if (posttemp != T_NORMAL) {
|
|
|
|
msg("%s looks %s%c", lfname, gettemperaturename(posttemp), punc);
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-02-05 10:26:16 +11:00
|
|
|
getflags(lf->flags, retflag, &nretflags, F_DAMAGEGROUNDOBS, F_NONE);
|
|
|
|
for (i = 0; i < nretflags; i++) {
|
|
|
|
f = retflag[i];
|
|
|
|
// will we cause damage to ground objects ?
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if (!isairborne(lf, NULL) || (f->val[2] == B_TRUE)) {
|
2012-02-05 10:26:16 +11:00
|
|
|
damageallobs(NULL, lf->cell->obpile, f->val[0], f->val[1], lf);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-01-09 17:53:52 +11:00
|
|
|
// status bar
|
2012-11-27 21:27:54 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
if ((prespeed != postspeed) || (pretemp != posttemp)) {
|
|
|
|
statdirty = B_TRUE;
|
|
|
|
}
|
2012-01-09 17:53:52 +11:00
|
|
|
}
|
|
|
|
} // end if gamestarted
|
* [+] 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
|
|
|
|
2012-06-22 12:48:39 +10:00
|
|
|
lf->changinglev = B_FALSE;
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
return didmsg;
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
|
|
|
|
2011-10-17 09:45:36 +11:00
|
|
|
int movelfsoutofway(cell_t *newcell) {
|
|
|
|
// anyone in the way?
|
|
|
|
if (newcell->lf) {
|
|
|
|
cell_t *c;
|
|
|
|
// if they are, find somewhere to move them.
|
- [+] vault:pub
- [+] has lots of recruitable people
- [+] plants, magic creatures, etc shoudl have infinite staina
- [+] severed fingers/heads are no longer considered "corpses".
- [+] new kind of bed: pile of straw
- [+] closed shops now work properly.
- [+] stench skillcheck (in makenauseated) - announce this differenlty
to 'nothing happen's
- [+] monsters won't turn to face sounds when fleeing.
- [+] increase accuracy for spear, but reduce accuracy when adjacent
- [+] why didn't cyborg warrior start with bullwhip equiped??
- [+] isbetterwepthan() should take EXTRADAM flag into account
- [+] monster starting skill levels should depend on iq
- [+] no sprinting with injured legs
- [+] more restructions when stunned:
- [+] no throwing
- [+] no operating
- [+] no firearms
- [+] tombstone text: Eaten by a snow troll's halberd
- [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant
corpse! reduced.
- [+] learning certain lore skills should please gods
- [+] repairing should take a lot longer. ie. shoudlbn't be able to do
it during a fight.
- [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR,
v0=material, v1=howmuch
- [+] continuerepairing() should only fix <skill + helpsrepair> hp
per turn.
- [+] announce helpsrepair in obdesc
- [+] coldroom vault:
- [+] ice floor
- [+] ice walls
- [+] ice pillar
- [+] frozen corpses
- [+] new job: gladiator
- [+] sword
- [+] shield
- [+] high shield skill
- [+] high evasion skill
- [+] limited armour skill
- [+] net
- [+] war cry fairly early on
- [+] gust of wind and airblast should drop flying creatures
- [+] fall_from_air().
- [+] trigger then when wind-based effects hit.
- [+] chance of falling depends on size.
- [+] if you polymorph a monster, it should NOT turn back to its
original form!
- [+] criticals dont seem to be happening any more... fixed
- [+] when picking first askcoords target lf, pick the closest
- [+] sakcs etc should contain rarer objects.
- [+] intelligent ai: if exhausted and in battle, and faster than
opponent, flee.???
- [+] easy way to fix reachability:
- [+] is there a solid cell which is:
- [+] adjacent to both a filled and an unfilled area?
- [+] not a fixed vault wall?
- [+] if so, just clear it.
- [+] genericise getrandomrace flags
- [+] some containers should have mini/tiny monsters inside!
- [+] f_hashidinglf, v0=rid
- [+] if you loot it, monster jumps out
- [+] ...and gets a free hit!
- [+] perception lets you see the container moving (only if it
weighs less than what is inside it)
- [+] genericise getrandomcell() with conditionsets.
* [+] condset_t
- [+] then replace all getrandomadjcell() calls...
- [+] remove getrandomroomcells
- [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
|
|
|
c = getrandomadjcell(newcell, &ccwalkable, B_ALLOWEXPAND);
|
2011-10-17 09:45:36 +11:00
|
|
|
if (c) {
|
|
|
|
// move them there
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
movelf(newcell->lf, c, B_FALSE);
|
2011-10-17 09:45:36 +11:00
|
|
|
} else {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2010-12-02 12:17:54 +11:00
|
|
|
// basically this is a warpper for 'movelf' which
|
|
|
|
// does other game things like telling the player
|
|
|
|
// what is here.
|
* [+] 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 moveto(lifeform_t *lf, cell_t *newcell, int onpurpose, int dontclearmsg) {
|
- [+] 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
|
|
|
object_t *o,*nexto;
|
2011-02-01 06:16:13 +11:00
|
|
|
char lfname[BUFLEN];
|
|
|
|
int didmsg;
|
2011-03-18 12:25:18 +11:00
|
|
|
int predark = B_FALSE,postdark = B_FALSE;
|
- [+] 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 willmakenoise = B_TRUE;
|
2011-03-18 12:25:18 +11:00
|
|
|
|
- [+] 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
|
|
|
// for the player, moving means that we don't regenerate stamina.
|
|
|
|
// this is the equivilant of losing the same amount of stamina which we
|
|
|
|
// would regenerate, only it avoids constantly redrawing the status
|
|
|
|
// bar every single move.
|
2011-12-19 19:04:49 +11:00
|
|
|
addflagifneeded(lf->flags, F_TOOKACTION, B_TRUE, NA, NA, NULL);
|
|
|
|
addflagifneeded(lf->flags, F_MOVED, B_TRUE, NA, NA, NULL);
|
- [+] 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
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
if (!onpurpose || !isplayer(lf)) {
|
|
|
|
dontclearmsg = B_TRUE;
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
|
2011-03-22 18:06:28 +11:00
|
|
|
assert(!newcell->lf);
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
getlfname(lf, lfname);
|
2010-12-02 12:17:54 +11:00
|
|
|
|
2012-01-25 20:20:15 +11:00
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
// is current cell dark?
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
if (!haslos(lf, lf->cell) && !isblind(lf)) {
|
|
|
|
predark = B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-04-14 09:44:29 +10:00
|
|
|
if (lfhasflag(lf, F_HIDING)) {
|
|
|
|
dontclearmsg = B_TRUE;
|
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
// actually do the move
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
didmsg = movelf(lf, newcell, onpurpose);
|
2010-12-02 12:17:54 +11:00
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
// is new cell dark?
|
|
|
|
if (!haslos(lf, lf->cell) && !isblind(lf)) {
|
|
|
|
postdark = B_TRUE;
|
|
|
|
} else {
|
|
|
|
killflagsofid(lf->flags, F_DONEDARKMSG);
|
|
|
|
}
|
|
|
|
|
2012-08-02 14:08:27 +10:00
|
|
|
/*
|
2011-03-18 12:25:18 +11:00
|
|
|
// just moved into a dark area - announce it.
|
|
|
|
if (postdark && !predark && !lfhasflag(lf, F_DONEDARKMSG)) {
|
* [+] 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
|
|
|
msg("It is %s!", (lf->cell->lit == L_PERMDARK) ? "unnaturally dark" : "pitch black");
|
2011-03-18 12:25:18 +11:00
|
|
|
addflag(lf->flags, F_DONEDARKMSG, B_TRUE, NA, NA, NULL);
|
|
|
|
dontclearmsg = B_TRUE;
|
|
|
|
}
|
2012-08-02 14:08:27 +10:00
|
|
|
*/
|
2011-03-18 12:25:18 +11:00
|
|
|
}
|
|
|
|
|
2011-03-10 16:47:18 +11:00
|
|
|
if (dontclearmsg) {
|
|
|
|
didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
|
2010-12-02 12:17:54 +11:00
|
|
|
// tell player about things
|
2011-02-01 06:16:13 +11:00
|
|
|
if (!isdead(lf)) {
|
|
|
|
// some lifeforms can go through things
|
2011-06-29 18:48:48 +10:00
|
|
|
if (getlfmaterial(lf) == MT_GAS) {
|
2011-02-01 06:16:13 +11:00
|
|
|
char obname[BUFLEN];
|
|
|
|
for (o = newcell->obpile->first ; o ; o = o->next) {
|
2012-01-19 14:42:10 +11:00
|
|
|
if (isimpassableob(o, lf, getlfsize(lf)) && !hasflag(o->flags, F_REALLYIMPASSABLE)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
getobname(o, obname, o->amt);
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You seep around %s.", obname);
|
|
|
|
} else if (haslos(player, newcell)) {
|
|
|
|
msg("%s seeps around %s.", lfname, obname);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-06-29 18:48:48 +10:00
|
|
|
} else if (getlfmaterial(lf) == MT_SLIME) {
|
2011-02-01 06:16:13 +11:00
|
|
|
char obname[BUFLEN];
|
|
|
|
for (o = newcell->obpile->first ; o ; o = o->next) {
|
2012-01-19 14:42:10 +11:00
|
|
|
if (isimpassableob(o, lf, getlfsize(lf))) {
|
2011-02-01 06:16:13 +11:00
|
|
|
getobname(o, obname, o->amt);
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You seep under %s.", obname);
|
|
|
|
} else if (haslos(player, newcell)) {
|
|
|
|
msg("%s seeps under %s.", lfname, obname);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isplayer(lf)) {
|
2011-09-28 04:56:58 +10:00
|
|
|
// see/feel objects on ground
|
2011-02-01 06:16:13 +11:00
|
|
|
int numobs;
|
2012-02-02 15:33:24 +11:00
|
|
|
numobs = countnoncosmeticobs(newcell->obpile, B_TRUE, B_TRUE);
|
2011-02-01 06:16:13 +11:00
|
|
|
if ((numobs == 0) && !newcell->writing) {
|
|
|
|
// just clear the message buffer
|
|
|
|
if (!didmsg) clearmsg();
|
|
|
|
} else { // tell player what is here
|
2012-11-30 23:05:29 +11:00
|
|
|
if (onpurpose && !lfhasflag(player, F_RAGE)) {
|
2011-06-22 16:01:48 +10:00
|
|
|
dolook(newcell, B_FALSE);
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
|
|
|
}
|
2011-03-24 16:09:31 +11:00
|
|
|
|
- [+] 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
|
|
|
// maybe make some noise
|
2011-03-24 16:09:31 +11:00
|
|
|
// (stealth check to avoid this)
|
- [+] 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
|
|
|
willmakenoise = B_TRUE;
|
|
|
|
if (lfhasflag(lf, F_HIDING)) {
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if (skillcheck(lf, SC_STEALTH, 70, isairborne(lf, NULL) ? 10 : 0)) {
|
- [+] 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
|
|
|
willmakenoise = B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2016-06-02 16:47:27 +10:00
|
|
|
// swapping places?
|
- [+] 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
|
|
|
if (willmakenoise) {
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if (isairborne(lf, NULL)) {
|
2011-10-17 09:45:36 +11:00
|
|
|
makenoise(lf, N_FLY);
|
|
|
|
} else {
|
|
|
|
makenoise(lf, N_WALK);
|
2011-03-24 16:09:31 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// slip on blood in new cell?
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if (!isairborne(lf, NULL) && !isswimming(lf)) {
|
2011-03-24 16:09:31 +11:00
|
|
|
int slip;
|
|
|
|
object_t *slipob;
|
* [+] 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
|
|
|
|
- [+] 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
|
|
|
if (!lfhasflag(lf, F_CAREFULMOVE)) {
|
2011-05-27 12:50:59 +10:00
|
|
|
slip = getslipperyness(newcell, &slipob);
|
|
|
|
if (slip && !skillcheck(lf, SC_SLIP, slip, 0)) {
|
|
|
|
slipon(lf, slipob);
|
|
|
|
}
|
|
|
|
}
|
- [+] 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
|
|
|
}
|
* [+] 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
|
|
|
|
- [+] 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
|
|
|
// activate traps
|
|
|
|
for (o = newcell->obpile->first ; o ; o = nexto ) {
|
|
|
|
flag_t *f;
|
|
|
|
nexto = o->next;
|
2016-06-01 23:59:39 +10:00
|
|
|
|
- [+] 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
|
|
|
f = hasflag(o->flags, F_TRAP);
|
|
|
|
if (f) {
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if (strstr(f->text, "ground") && isairborne(lf, NULL)) {
|
- [+] 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
|
|
|
// nothing happens
|
|
|
|
} else {
|
2011-08-31 06:10:43 +10:00
|
|
|
triggertrap(lf, NULL, o, lf->cell);
|
* [+] 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
|
|
|
interrupt(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
|
|
|
}
|
|
|
|
}
|
2011-03-24 16:09:31 +11:00
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-04-01 10:54:44 +11:00
|
|
|
// dirtype etermines whether to use compass or orthogonal direction to
|
|
|
|
// measure distance when determining which way is "towards"
|
|
|
|
//
|
|
|
|
// in general:
|
* [+] 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
|
|
|
// use orthogonal/dt_orth for voluntary movement (eg. monster moving
|
2011-04-01 10:54:44 +11:00
|
|
|
// towards player), compass
|
|
|
|
//
|
* [+] 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
|
|
|
// use compass/dt_compass for involuntary movement (eg. being knocked back by
|
2011-04-01 10:54:44 +11:00
|
|
|
// an explosion)
|
|
|
|
//
|
2011-09-12 09:52:14 +10:00
|
|
|
int movetowards(lifeform_t *lf, cell_t *dst, int dirtype, int strafe) {
|
2011-02-01 06:16:13 +11:00
|
|
|
int dir;
|
|
|
|
int rv = B_TRUE;
|
2011-03-04 12:22:36 +11:00
|
|
|
|
2011-09-12 09:52:14 +10:00
|
|
|
int db = B_FALSE;
|
|
|
|
|
|
|
|
if (lfhasflag(lf, F_DEBUG)) db = B_TRUE;
|
|
|
|
|
2011-03-04 12:22:36 +11:00
|
|
|
if (isblind(lf)) {
|
2011-09-12 09:52:14 +10:00
|
|
|
if (db) dblog(".oO { i am blind - movetorwards calling dorandommove. }");
|
2012-01-30 09:47:43 +11:00
|
|
|
dorandommove(lf, B_TRUE, B_TRUE, B_FALSE);
|
2011-03-04 12:22:36 +11:00
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
// move towards them
|
2012-11-07 07:32:56 +11:00
|
|
|
if (isadjacent(lf->cell, dst)) {
|
|
|
|
dir = whichwayto(lf->cell, dst, lf, B_TRUE);
|
|
|
|
} else {
|
|
|
|
dir = getdirtowards(lf->cell, dst, lf, B_TRUE, dirtype);
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
if (dir != D_NONE) {
|
2011-09-12 10:05:42 +10:00
|
|
|
if (db) {
|
|
|
|
dblog(".oO { dir from %d,%d -> %d,%d is %s }", lf->cell->x, lf->cell->y, dst->x, dst->y, getdirname(dir));
|
|
|
|
}
|
2016-06-02 14:50:03 +10:00
|
|
|
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
rv = trymove(lf, dir, B_TRUE, strafe);
|
|
|
|
} else {
|
|
|
|
flag_t *f;
|
|
|
|
f = lfhasflag(lf, F_SLIPPEDLASTTURN);
|
|
|
|
if (f) {
|
|
|
|
killflag(f);
|
|
|
|
rv = trysneak(lf, dir);
|
|
|
|
} else {
|
|
|
|
rv = trymove(lf, dir, B_TRUE, strafe);
|
|
|
|
}
|
|
|
|
}
|
2011-09-15 08:42:54 +10:00
|
|
|
} else {
|
|
|
|
if (db) dblog(".oO { dir from %d,%d -> %d,%d is DT_NONE ! }", lf->cell->x, lf->cell->y, dst->x, dst->y);
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
return rv;
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
|
|
|
|
- [+] 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
|
|
|
int move_will_hurt(lifeform_t *lf) {
|
2011-11-23 08:32:10 +11:00
|
|
|
flag_t *retflag[MAXCANDIDATES],*retflag2[MAXCANDIDATES];
|
|
|
|
int nretflags,nretflags2,i,n;
|
- [+] 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
|
|
|
|
|
|
|
getflags(lf->flags, retflag, &nretflags, F_INJURY, F_PAIN, F_NONE);
|
|
|
|
for (i = 0; i < nretflags; i++) {
|
|
|
|
flag_t *f;
|
|
|
|
f = retflag[i];
|
|
|
|
if (f->id == F_PAIN) return B_TRUE;
|
|
|
|
if (f->id == F_INJURY) {
|
|
|
|
switch (f->val[0]) {
|
|
|
|
case IJ_LEGBLEED:
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if (!isairborne(lf, NULL)) return B_TRUE;
|
2011-11-23 08:32:10 +11:00
|
|
|
break;
|
|
|
|
case IJ_WINGBLEED:
|
|
|
|
getflags(lf->flags, retflag2, &nretflags2, F_FLYING, F_NONE);
|
|
|
|
for (n = 0; n < nretflags2; n++) {
|
|
|
|
if (retflag[n]->lifetime == FROMRACE) {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
- [+] 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
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
- [+] 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
|
|
|
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if (hasbleedinginjury(lf, BP_LEGS) && !isairborne(lf, NULL)) {
|
- [+] 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
|
|
|
return B_TRUE;
|
|
|
|
}
|
- [+] 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
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
int opendoorat(lifeform_t *lf, cell_t *c) {
|
|
|
|
object_t *o;
|
|
|
|
int rv;
|
|
|
|
o = hasobwithflag(c->obpile, F_DOOR);
|
|
|
|
if (o) {
|
|
|
|
rv = opendoor(lf, o);
|
|
|
|
} else {
|
|
|
|
rv = B_TRUE;
|
|
|
|
}
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
|
|
|
int opendoor(lifeform_t *lf, object_t *o) {
|
|
|
|
cell_t *doorcell;
|
2010-12-02 12:17:54 +11:00
|
|
|
char buf[BUFLEN];
|
2011-02-01 06:16:13 +11:00
|
|
|
char obname[BUFLEN];
|
|
|
|
flag_t *f;
|
2012-02-02 15:33:24 +11:00
|
|
|
enum ATTRBRACKET wis = AT_AVERAGE;
|
2011-02-01 06:16:13 +11:00
|
|
|
|
|
|
|
doorcell = o->pile->where;
|
|
|
|
assert(doorcell);
|
|
|
|
|
2012-02-02 15:33:24 +11:00
|
|
|
if (lf) {
|
|
|
|
if (isplayer(lf) && godprayedto(R_GODMERCY)) {
|
|
|
|
wis = AT_VHIGH;
|
|
|
|
} else {
|
|
|
|
wis = getattrbracket(getattr(lf, A_WIS), A_WIS, NULL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
getobname(o, obname, 1);
|
|
|
|
|
|
|
|
if (!isdoor(o, NULL)) {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-11-03 09:34:15 +11:00
|
|
|
if (lf) {
|
|
|
|
if (isclimbing(lf)) {
|
|
|
|
if (isplayer(lf)) msg("You can't open doors while climbing!");
|
|
|
|
return B_TRUE;
|
|
|
|
} else if (isswimming(lf)) {
|
|
|
|
if (isplayer(lf)) msg("You can't open doors while swimming!");
|
|
|
|
return B_TRUE;
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-11-03 09:34:15 +11:00
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
f = hasflag(o->flags, F_OPEN);
|
|
|
|
if (f) {
|
|
|
|
if (lf && isplayer(lf)) {
|
|
|
|
msg("It is already open!");
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
} else {
|
2011-12-28 16:06:47 +11:00
|
|
|
int wasjammed = B_FALSE;
|
2012-11-05 12:44:01 +11:00
|
|
|
int touchrv = B_FALSE;
|
2011-02-16 05:21:33 +11:00
|
|
|
if (lf) {
|
2011-11-03 09:34:15 +11:00
|
|
|
if (!canopendoors(lf)) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You have no hands with which to open the door!");
|
|
|
|
} else {
|
2012-11-08 07:21:35 +11:00
|
|
|
// ai will try to break down doors if they know the lf they are
|
|
|
|
// chasing is behind it. ie. if they can still "see" them (maybe via
|
|
|
|
// scent) or can hear them.
|
|
|
|
//
|
|
|
|
if (willattackdoors(lf)) {
|
2011-11-03 09:34:15 +11:00
|
|
|
attackcell(lf, doorcell, B_TRUE);
|
2012-11-08 07:21:35 +11:00
|
|
|
} else {
|
|
|
|
loseaitargets(lf);
|
2011-11-03 09:34:15 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-07-21 11:43:45 +10:00
|
|
|
if (isplayer(lf)) {
|
2011-09-15 08:42:54 +10:00
|
|
|
int dir;
|
|
|
|
cell_t *pastdoorcell;
|
* [+] 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
|
|
|
// has known trap?
|
2011-07-21 11:43:45 +10:00
|
|
|
if (hasflagval(o->flags, F_TRAPPED, NA, NA, B_TRUE, NULL)) {
|
2012-02-02 15:33:24 +11:00
|
|
|
if (wis >= AT_AVERAGE) {
|
2011-07-21 11:43:45 +10:00
|
|
|
char ch;
|
2011-09-01 03:33:35 +10:00
|
|
|
snprintf(buf, BUFLEN,"Really open %s?", obname);
|
- [+] 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
|
|
|
ch = askchar(buf,"yn","n", B_TRUE, B_FALSE);
|
2011-07-21 11:43:45 +10:00
|
|
|
if (ch != 'y') {
|
|
|
|
msg("Cancelled.");
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
* [+] 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
|
|
|
// hear water behind it?
|
2011-09-15 08:42:54 +10:00
|
|
|
dir = getdirtowards(doorcell, lf->cell, NULL, B_FALSE, DT_ORTH);
|
|
|
|
pastdoorcell = getcellindir(doorcell, dir);
|
|
|
|
if (pastdoorcell && getcellwaterdepth(pastdoorcell, NULL)) {
|
|
|
|
if (getskill(lf, SK_LISTEN) || haslos(lf, pastdoorcell)) {
|
2012-02-02 15:33:24 +11:00
|
|
|
if (wis >= AT_AVERAGE) {
|
* [+] 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
|
|
|
char ch;
|
2011-09-15 08:42:54 +10:00
|
|
|
snprintf(buf, BUFLEN,"%s running water behind %s. Really open it?",
|
|
|
|
haslos(lf, pastdoorcell) ? "There is" : "You can hear", obname);
|
- [+] 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
|
|
|
ch = askchar(buf,"yn","n", B_TRUE, B_FALSE);
|
* [+] 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
|
|
|
if (ch != 'y') {
|
|
|
|
msg("Cancelled.");
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-07-21 11:43:45 +10:00
|
|
|
}
|
|
|
|
|
2011-05-20 06:30:58 +10:00
|
|
|
// stop sprinting
|
2011-06-05 19:21:21 +10:00
|
|
|
stopsprinting(lf);
|
2012-11-05 12:44:01 +11:00
|
|
|
|
|
|
|
taketime(lf, getactspeed(lf));
|
|
|
|
touchrv = touch(lf, o);
|
2011-12-28 16:06:47 +11:00
|
|
|
} // end if lf
|
2011-02-16 05:21:33 +11:00
|
|
|
|
2011-07-21 11:43:45 +10:00
|
|
|
// trapped?
|
|
|
|
if (lf && hasflag(o->flags, F_TRAPPED)) {
|
2016-06-06 22:29:20 +10:00
|
|
|
if (triggerattachedtraps(o, lf, B_TRUE)) {
|
2012-11-07 07:32:56 +11:00
|
|
|
if (isplayer(lf)) stoppathfinding(lf);
|
2011-07-21 11:43:45 +10:00
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
2012-11-05 12:44:01 +11:00
|
|
|
|
|
|
|
if (touchrv) return B_TRUE;
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
// locked?
|
|
|
|
if (hasflag(o->flags, F_LOCKED)) {
|
2011-11-02 07:35:50 +11:00
|
|
|
if (lf) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("The %s is locked.", noprefix(obname));
|
|
|
|
} else {
|
2012-11-08 07:21:35 +11:00
|
|
|
if (willattackdoors(lf)) {
|
2011-11-02 07:35:50 +11:00
|
|
|
attackcell(lf, doorcell, B_TRUE);
|
|
|
|
return B_FALSE;
|
|
|
|
} else {
|
2011-12-28 16:06:47 +11:00
|
|
|
noise(doorcell, NULL, NC_OTHER, SV_TALK, "a door handle rattling.", NULL);
|
2012-11-08 07:21:35 +11:00
|
|
|
loseaitargets(lf);
|
2011-11-02 07:35:50 +11:00
|
|
|
}
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
2012-11-07 07:32:56 +11:00
|
|
|
if (isplayer(lf)) stoppathfinding(lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
return B_TRUE;
|
2012-11-07 07:32:56 +11:00
|
|
|
} else { // ie. door not locked, but it might be jammed
|
2011-02-16 05:21:33 +11:00
|
|
|
int openit = B_TRUE;
|
|
|
|
f = hasflag(o->flags, F_JAMMED);
|
- [+] CRASH in killflag()
- [+] symptoms
- [+] often happens right after creating a new map (ie. trigger
it through a gate spell)
- [+] bug in createriver(). fixed.
- [+] somehow casting GATE is causing object flagpiles on
the PLAYER's map to become corrupted.
- [+] "the young hawk wakes up" CRASH, flagpile corrupt on
stone.
- [+] object itself seems okay.
- [+] o->flags is becoming corrupt!!!
- [+] so all its flags are becoming corrupt (id = massive
number, next = fffff)
- [+] traceback:
- [+] #0 0x0000000100081188 in killflag (f=0x103321090) at
flag.c:815
#1 0x0000000100081b3a in timeeffectsflag
(f=0x103321090, howlong=1) at flag.c:1075
#2 0x00000001000825f8 in timeeffectsflags
(fp=0x1038e0600) at flag.c:1302
#3 0x0000000100129b01 in timeeffectsob
(o=0x1036e2460) at objects.c:11877
#4 0x0000000100005114 in timeeffectsworld
(map=0x102aa1a00, updategametime=-1) at nexus.c:1685
#5 0x0000000100003a28 in donextturn
(map=0x102aa1a00) at nexus.c:952
#6 0x00000001000029b1 in main (argc=1,
argv=0x7fff5fbff848) at nexus.c:525
- [+] try this: in timeeffectsflags on objects, check PREVIOUS
object's flagpile.
- [+] try this: add checkflagS() after updatefpindex
- [+] NOT happening during timeeffectsob().
- [+] compile with optimisation.................
- [+] hapepning in createmap. but objects on the PLAYER's map
are being corrupted, not the new one.
- [+] happening in addrandomthing()
- [+] happening in addmonster().
- [+] lf = addmonster(c, R_RANDOM, NULL,
B_TRUE, 1, B_TRUE, nadded);
- [+] (glowbug was created)
- [+] happening in addlf()
- [+] glowbug again!! to do with light recalc ??
- [+] happening in setrace()
- [+] happening while inheriting F_AWARENESS. have double
checked to confirm this!
- [+] in HASLOS????!!
- [+] addflag->flagcausesloscalc, so haslos for all on the map.
problem happens when we call haslos() for the lf getting
F_AWARENESS added.
- [+] is the problem that doing a los recalc breaks when we are
still missing half our racial flags ?
- [+] QUICK FIX:
- [+] dont recalc los for any lf where born = 0. just set
nlos to 0
- [+] and manually recalc los just before returning from
addlf
- [+] put sawgrsaas back to being common, not frequent
- [+] is this finally fixed now? i think so!!
- [+] if so, remove calls to "checkallflags" and most calls to
checkflags()
- [+] remove agility bonuses for weapon acc. now comes just from
skill and from agi scaling on weapons.
- [+] maybe difference in hit dice is a bad way to determine
shieldblock difficulty.
- [+] ...because the player rapidly gets higher than all other
monsters on their dungeonlev.
- [+] maybe just use monster's hitdice, ignore players.
- [+] bug: abilities costing no stamina?
- [+] in addmap, i am not initialising enough nextmap[]s
- [+] flag.c bug: don't need to set player->losdirty when recalcing
light on a different map
- [+] lfs with F_DOESNTMOVE weren't attacking
- [+] manuals are starting off known. why??
- [+] they don't appear in knowledge, so don't appear to have a
hiddenname at all.
- [+] make magical barriers block view.
- [+] when describing armour / shield penalty, say
- [+] "will lower your accuracy by 1"
- [+] instead of
- [+] "will lower your accuracy by 5%"
- [+] make firstaid skill incrase your hp per level
- [+] high agility seems to be giving a MASSIVE accuracy increase when
higher than weapon's stat.
- [+] maybe remove or reduce AGI acc bonuses.
- [+] sack started off containing a FOOD VENDOR!@#
- [+] size check obviously isn't working.
- [+] need "obfits" in givestartobs!!
- [+] hitting ESC when firing with F doesn't cancel.f
- [+] hunter should start with fur cloak
- [+] spellbooks are too cheap ($12)
- [+] remove'p' for lockpick- just operate the lockpickobject.
- [+] removed,
- [+] ...but now tha tI've removed 'p' for picklocks, can i still
use 'o' on a dagger or similar?
- [+] NO
- [+] maybe turn "pick lock" into a still
- [+] how do you gain this? level 1 lockpicking
- [+] then make lockpicks etc non-operable
- [+] fix crash when drunk lfs take damage
- [+] sleeping powder costs nothing
- [+] memleaks??? 700mb usage!!
- [+] valgrind
- [+] found a memleak problem: definitely lost: 10,719,039
bytes in 11,420 blocks
- [+] not killing flags when we kill an object!!!!! fixed now.
- [+] memory usage is now ticking up heaps more slowly.
- [+] investigate further with valgrind again.....
- [+] when summoning, prefer cells for which the player has los.
- [+] make jammed doors harder to open.
- [+] no forcing a door open on your first go. should be:
- [+] the door is jammed!
- [+] you force it open.
- [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
|
|
|
if (f && lf) {
|
2011-12-28 16:06:47 +11:00
|
|
|
wasjammed = B_TRUE;
|
|
|
|
openit = B_FALSE;
|
- [+] CRASH in killflag()
- [+] symptoms
- [+] often happens right after creating a new map (ie. trigger
it through a gate spell)
- [+] bug in createriver(). fixed.
- [+] somehow casting GATE is causing object flagpiles on
the PLAYER's map to become corrupted.
- [+] "the young hawk wakes up" CRASH, flagpile corrupt on
stone.
- [+] object itself seems okay.
- [+] o->flags is becoming corrupt!!!
- [+] so all its flags are becoming corrupt (id = massive
number, next = fffff)
- [+] traceback:
- [+] #0 0x0000000100081188 in killflag (f=0x103321090) at
flag.c:815
#1 0x0000000100081b3a in timeeffectsflag
(f=0x103321090, howlong=1) at flag.c:1075
#2 0x00000001000825f8 in timeeffectsflags
(fp=0x1038e0600) at flag.c:1302
#3 0x0000000100129b01 in timeeffectsob
(o=0x1036e2460) at objects.c:11877
#4 0x0000000100005114 in timeeffectsworld
(map=0x102aa1a00, updategametime=-1) at nexus.c:1685
#5 0x0000000100003a28 in donextturn
(map=0x102aa1a00) at nexus.c:952
#6 0x00000001000029b1 in main (argc=1,
argv=0x7fff5fbff848) at nexus.c:525
- [+] try this: in timeeffectsflags on objects, check PREVIOUS
object's flagpile.
- [+] try this: add checkflagS() after updatefpindex
- [+] NOT happening during timeeffectsob().
- [+] compile with optimisation.................
- [+] hapepning in createmap. but objects on the PLAYER's map
are being corrupted, not the new one.
- [+] happening in addrandomthing()
- [+] happening in addmonster().
- [+] lf = addmonster(c, R_RANDOM, NULL,
B_TRUE, 1, B_TRUE, nadded);
- [+] (glowbug was created)
- [+] happening in addlf()
- [+] glowbug again!! to do with light recalc ??
- [+] happening in setrace()
- [+] happening while inheriting F_AWARENESS. have double
checked to confirm this!
- [+] in HASLOS????!!
- [+] addflag->flagcausesloscalc, so haslos for all on the map.
problem happens when we call haslos() for the lf getting
F_AWARENESS added.
- [+] is the problem that doing a los recalc breaks when we are
still missing half our racial flags ?
- [+] QUICK FIX:
- [+] dont recalc los for any lf where born = 0. just set
nlos to 0
- [+] and manually recalc los just before returning from
addlf
- [+] put sawgrsaas back to being common, not frequent
- [+] is this finally fixed now? i think so!!
- [+] if so, remove calls to "checkallflags" and most calls to
checkflags()
- [+] remove agility bonuses for weapon acc. now comes just from
skill and from agi scaling on weapons.
- [+] maybe difference in hit dice is a bad way to determine
shieldblock difficulty.
- [+] ...because the player rapidly gets higher than all other
monsters on their dungeonlev.
- [+] maybe just use monster's hitdice, ignore players.
- [+] bug: abilities costing no stamina?
- [+] in addmap, i am not initialising enough nextmap[]s
- [+] flag.c bug: don't need to set player->losdirty when recalcing
light on a different map
- [+] lfs with F_DOESNTMOVE weren't attacking
- [+] manuals are starting off known. why??
- [+] they don't appear in knowledge, so don't appear to have a
hiddenname at all.
- [+] make magical barriers block view.
- [+] when describing armour / shield penalty, say
- [+] "will lower your accuracy by 1"
- [+] instead of
- [+] "will lower your accuracy by 5%"
- [+] make firstaid skill incrase your hp per level
- [+] high agility seems to be giving a MASSIVE accuracy increase when
higher than weapon's stat.
- [+] maybe remove or reduce AGI acc bonuses.
- [+] sack started off containing a FOOD VENDOR!@#
- [+] size check obviously isn't working.
- [+] need "obfits" in givestartobs!!
- [+] hitting ESC when firing with F doesn't cancel.f
- [+] hunter should start with fur cloak
- [+] spellbooks are too cheap ($12)
- [+] remove'p' for lockpick- just operate the lockpickobject.
- [+] removed,
- [+] ...but now tha tI've removed 'p' for picklocks, can i still
use 'o' on a dagger or similar?
- [+] NO
- [+] maybe turn "pick lock" into a still
- [+] how do you gain this? level 1 lockpicking
- [+] then make lockpicks etc non-operable
- [+] fix crash when drunk lfs take damage
- [+] sleeping powder costs nothing
- [+] memleaks??? 700mb usage!!
- [+] valgrind
- [+] found a memleak problem: definitely lost: 10,719,039
bytes in 11,420 blocks
- [+] not killing flags when we kill an object!!!!! fixed now.
- [+] memory usage is now ticking up heaps more slowly.
- [+] investigate further with valgrind again.....
- [+] when summoning, prefer cells for which the player has los.
- [+] make jammed doors harder to open.
- [+] no forcing a door open on your first go. should be:
- [+] the door is jammed!
- [+] you force it open.
- [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
|
|
|
if (isplayer(lf) && (f->val[1] != B_TRUE)) { // not known yet
|
|
|
|
msg("The %s is jammed.", noprefix(obname));
|
|
|
|
openit = B_FALSE;
|
|
|
|
f->val[1] = B_TRUE;
|
|
|
|
} else {
|
2012-12-24 09:02:52 +11:00
|
|
|
openit = unjam(lf, o);
|
- [+] CRASH in killflag()
- [+] symptoms
- [+] often happens right after creating a new map (ie. trigger
it through a gate spell)
- [+] bug in createriver(). fixed.
- [+] somehow casting GATE is causing object flagpiles on
the PLAYER's map to become corrupted.
- [+] "the young hawk wakes up" CRASH, flagpile corrupt on
stone.
- [+] object itself seems okay.
- [+] o->flags is becoming corrupt!!!
- [+] so all its flags are becoming corrupt (id = massive
number, next = fffff)
- [+] traceback:
- [+] #0 0x0000000100081188 in killflag (f=0x103321090) at
flag.c:815
#1 0x0000000100081b3a in timeeffectsflag
(f=0x103321090, howlong=1) at flag.c:1075
#2 0x00000001000825f8 in timeeffectsflags
(fp=0x1038e0600) at flag.c:1302
#3 0x0000000100129b01 in timeeffectsob
(o=0x1036e2460) at objects.c:11877
#4 0x0000000100005114 in timeeffectsworld
(map=0x102aa1a00, updategametime=-1) at nexus.c:1685
#5 0x0000000100003a28 in donextturn
(map=0x102aa1a00) at nexus.c:952
#6 0x00000001000029b1 in main (argc=1,
argv=0x7fff5fbff848) at nexus.c:525
- [+] try this: in timeeffectsflags on objects, check PREVIOUS
object's flagpile.
- [+] try this: add checkflagS() after updatefpindex
- [+] NOT happening during timeeffectsob().
- [+] compile with optimisation.................
- [+] hapepning in createmap. but objects on the PLAYER's map
are being corrupted, not the new one.
- [+] happening in addrandomthing()
- [+] happening in addmonster().
- [+] lf = addmonster(c, R_RANDOM, NULL,
B_TRUE, 1, B_TRUE, nadded);
- [+] (glowbug was created)
- [+] happening in addlf()
- [+] glowbug again!! to do with light recalc ??
- [+] happening in setrace()
- [+] happening while inheriting F_AWARENESS. have double
checked to confirm this!
- [+] in HASLOS????!!
- [+] addflag->flagcausesloscalc, so haslos for all on the map.
problem happens when we call haslos() for the lf getting
F_AWARENESS added.
- [+] is the problem that doing a los recalc breaks when we are
still missing half our racial flags ?
- [+] QUICK FIX:
- [+] dont recalc los for any lf where born = 0. just set
nlos to 0
- [+] and manually recalc los just before returning from
addlf
- [+] put sawgrsaas back to being common, not frequent
- [+] is this finally fixed now? i think so!!
- [+] if so, remove calls to "checkallflags" and most calls to
checkflags()
- [+] remove agility bonuses for weapon acc. now comes just from
skill and from agi scaling on weapons.
- [+] maybe difference in hit dice is a bad way to determine
shieldblock difficulty.
- [+] ...because the player rapidly gets higher than all other
monsters on their dungeonlev.
- [+] maybe just use monster's hitdice, ignore players.
- [+] bug: abilities costing no stamina?
- [+] in addmap, i am not initialising enough nextmap[]s
- [+] flag.c bug: don't need to set player->losdirty when recalcing
light on a different map
- [+] lfs with F_DOESNTMOVE weren't attacking
- [+] manuals are starting off known. why??
- [+] they don't appear in knowledge, so don't appear to have a
hiddenname at all.
- [+] make magical barriers block view.
- [+] when describing armour / shield penalty, say
- [+] "will lower your accuracy by 1"
- [+] instead of
- [+] "will lower your accuracy by 5%"
- [+] make firstaid skill incrase your hp per level
- [+] high agility seems to be giving a MASSIVE accuracy increase when
higher than weapon's stat.
- [+] maybe remove or reduce AGI acc bonuses.
- [+] sack started off containing a FOOD VENDOR!@#
- [+] size check obviously isn't working.
- [+] need "obfits" in givestartobs!!
- [+] hitting ESC when firing with F doesn't cancel.f
- [+] hunter should start with fur cloak
- [+] spellbooks are too cheap ($12)
- [+] remove'p' for lockpick- just operate the lockpickobject.
- [+] removed,
- [+] ...but now tha tI've removed 'p' for picklocks, can i still
use 'o' on a dagger or similar?
- [+] NO
- [+] maybe turn "pick lock" into a still
- [+] how do you gain this? level 1 lockpicking
- [+] then make lockpicks etc non-operable
- [+] fix crash when drunk lfs take damage
- [+] sleeping powder costs nothing
- [+] memleaks??? 700mb usage!!
- [+] valgrind
- [+] found a memleak problem: definitely lost: 10,719,039
bytes in 11,420 blocks
- [+] not killing flags when we kill an object!!!!! fixed now.
- [+] memory usage is now ticking up heaps more slowly.
- [+] investigate further with valgrind again.....
- [+] when summoning, prefer cells for which the player has los.
- [+] make jammed doors harder to open.
- [+] no forcing a door open on your first go. should be:
- [+] the door is jammed!
- [+] you force it open.
- [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
|
|
|
} // end if jammedknown
|
|
|
|
} // end if jammed
|
2012-11-07 07:32:56 +11:00
|
|
|
|
2011-02-16 05:21:33 +11:00
|
|
|
if (openit) {
|
|
|
|
cell_t *where;
|
|
|
|
// open it
|
|
|
|
addflag(o->flags, F_OPEN, B_TRUE, NA, NA, NULL);
|
2011-02-01 06:16:13 +11:00
|
|
|
|
2011-07-21 11:43:45 +10:00
|
|
|
killflagsofid(o->flags, F_IMPASSABLE);
|
|
|
|
killflagsofid(o->flags, F_BLOCKSVIEW);
|
|
|
|
killflagsofid(o->flags, F_SECRET);
|
|
|
|
killflagsofid(o->flags, F_TRAPPED);
|
2011-02-01 06:16:13 +11:00
|
|
|
|
2011-02-16 05:21:33 +11:00
|
|
|
if (lf) {
|
2011-12-28 16:06:47 +11:00
|
|
|
if (wasjammed) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You force %s open!",obname);
|
|
|
|
} else {
|
|
|
|
if (cansee(player, lf)) {
|
|
|
|
getlfname(lf, buf);
|
|
|
|
capitalise(buf);
|
|
|
|
msg("%s forces %s open!",buf, obname);
|
|
|
|
} else if (haslos(player, doorcell)) {
|
|
|
|
capitalise(obname);
|
|
|
|
msg("%s bursts open!",obname);
|
|
|
|
} else {
|
|
|
|
char noisebuf[BUFLEN];
|
|
|
|
sprintf(noisebuf, "%s bursting open!", obname);
|
|
|
|
noise(doorcell, NULL, NC_OTHER, SV_CAR, noisebuf, NULL);
|
|
|
|
}
|
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
} else {
|
2011-12-28 16:06:47 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You open %s.",obname);
|
2011-11-02 07:35:50 +11:00
|
|
|
} else {
|
2011-12-28 16:06:47 +11:00
|
|
|
if (cansee(player, lf)) {
|
|
|
|
getlfname(lf, buf);
|
|
|
|
capitalise(buf);
|
|
|
|
msg("%s opens %s.",buf, obname);
|
|
|
|
} else if (haslos(player, doorcell)) {
|
|
|
|
capitalise(obname);
|
|
|
|
msg("%s opens.",obname);
|
|
|
|
} else {
|
|
|
|
char noisebuf[BUFLEN];
|
|
|
|
sprintf(noisebuf, "%s opening.", obname);
|
|
|
|
noise(doorcell, NULL, NC_OTHER, SV_TALK, noisebuf, NULL);
|
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
}
|
2012-11-07 07:32:56 +11:00
|
|
|
} // end if wasjammed
|
|
|
|
} // end if lf
|
2011-02-16 05:21:33 +11:00
|
|
|
where = getoblocation(o);
|
2011-08-24 18:15:09 +10:00
|
|
|
|
|
|
|
if (player) {
|
|
|
|
if (haslos(player, where)) {
|
|
|
|
needredraw = B_TRUE;
|
|
|
|
drawscreen();
|
|
|
|
} else {
|
|
|
|
// don't anonuce this if we can see it.
|
|
|
|
// normally 'noise()' takes care of this by
|
|
|
|
// checking if we have LOS to the lifeform making
|
|
|
|
// sound, but in this case it's the door making
|
|
|
|
// the sound, not the lf.
|
2011-12-28 16:06:47 +11:00
|
|
|
noise(where, NULL, NC_OTHER, SV_TALK, "a door opening.", NULL);
|
2011-08-24 18:15:09 +10:00
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
}
|
2012-11-07 07:32:56 +11:00
|
|
|
} else {
|
|
|
|
// !openit
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
stoppathfinding(lf);
|
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
return B_FALSE;
|
2012-11-07 07:32:56 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
} // end if door locked
|
2011-02-01 06:16:13 +11:00
|
|
|
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
int closedoorat(lifeform_t *lf, cell_t *c) {
|
|
|
|
object_t *o;
|
|
|
|
int rv;
|
|
|
|
o = hasobwithflag(c->obpile, F_DOOR);
|
|
|
|
if (o) {
|
|
|
|
rv = closedoor(lf, o);
|
2010-12-02 12:17:54 +11:00
|
|
|
} else {
|
2011-02-01 06:16:13 +11:00
|
|
|
rv = B_TRUE;
|
|
|
|
}
|
|
|
|
return rv;
|
|
|
|
}
|
|
|
|
|
|
|
|
int closedoor(lifeform_t *lf, object_t *o) {
|
|
|
|
cell_t *cell;
|
|
|
|
char buf[BUFLEN];
|
|
|
|
char obname[BUFLEN];
|
2011-03-04 12:22:36 +11:00
|
|
|
object_t *oo;
|
2011-02-01 06:16:13 +11:00
|
|
|
flag_t *f;
|
|
|
|
|
2011-03-04 12:22:36 +11:00
|
|
|
cell = getoblocation(o);
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
getobname(o, obname, 1);
|
|
|
|
|
|
|
|
if (!isdoor(o, NULL)) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("There is nothing to close there!");
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-11-23 08:32:10 +11:00
|
|
|
if (lf && !canopendoors(lf)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You have no hands with which to close the door!");
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-03-04 12:22:36 +11:00
|
|
|
if (cell->lf) {
|
|
|
|
if (lf && isplayer(lf)) {
|
|
|
|
char inwayname[BUFLEN];
|
|
|
|
getlfname(cell->lf, inwayname);
|
|
|
|
msg("%s is in the way!", haslos(lf, cell) ? inwayname : "Something");
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
// any solid object other than the door?
|
2011-03-04 12:22:36 +11:00
|
|
|
for (oo = cell->obpile->first ; oo ; oo = oo->next) {
|
2012-01-19 14:42:10 +11:00
|
|
|
if ((oo != o) && (getmaterialstate(oo->material->id) == MS_SOLID) && isimpassableob(o, NULL, getobsize(o))) {
|
2011-03-16 15:45:46 +11:00
|
|
|
if (lf && isplayer(lf)) {
|
|
|
|
char inwayname[BUFLEN];
|
|
|
|
getobname(oo, inwayname, oo->amt);
|
2011-03-22 18:06:28 +11:00
|
|
|
msg("%s %s in the way!", haslos(lf, cell) ? inwayname : "Something",
|
|
|
|
(haslos(lf,cell) && (oo->amt > 1)) ? "are" : "is" );
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
2011-03-16 15:45:46 +11:00
|
|
|
return B_TRUE;
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
f = hasflag(o->flags, F_OPEN);
|
|
|
|
if (!f) {
|
2011-04-08 13:18:54 +10:00
|
|
|
if (lf && (isplayer(lf))) {
|
2011-02-01 06:16:13 +11:00
|
|
|
msg("It is already closed!");
|
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
return B_TRUE;
|
2011-02-01 06:16:13 +11:00
|
|
|
} else {
|
|
|
|
// close it
|
|
|
|
killflag(f);
|
2011-06-22 16:01:48 +10:00
|
|
|
f = hasflag(o->flags, F_DOOR);
|
|
|
|
addflag(o->flags, F_IMPASSABLE, f->val[0], f->val[1], f->val[2], f->text);
|
|
|
|
|
2012-01-25 07:38:59 +11:00
|
|
|
if (hasflag(o->type->flags, F_BLOCKSVIEW)) {
|
|
|
|
copyflag(o->flags, o->type->flags, F_BLOCKSVIEW);
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
|
|
|
|
if (lf) {
|
2011-05-27 10:41:34 +10:00
|
|
|
// stop sprinting
|
2011-06-05 19:21:21 +10:00
|
|
|
stopsprinting(lf);
|
2011-05-27 10:41:34 +10:00
|
|
|
|
2012-12-26 17:12:09 +11:00
|
|
|
taketime(lf, getactspeed(lf));
|
|
|
|
if (touch(lf, o)) {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-04-08 13:18:54 +10:00
|
|
|
if (isplayer(lf)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
msg("You close %s.", obname);
|
|
|
|
} else {
|
2011-03-16 15:45:46 +11:00
|
|
|
if (cansee(player, lf) && isadjacent(lf->cell, cell)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
getlfname(lf, buf);
|
|
|
|
capitalise(buf);
|
|
|
|
msg("%s closes %s.",buf, obname);
|
|
|
|
} else if (haslos(player, cell)) {
|
|
|
|
capitalise(obname);
|
|
|
|
msg("%s closes.",obname);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
* [+] 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
|
|
|
if (player && haslos(player, cell)) {
|
|
|
|
needredraw = B_TRUE;
|
|
|
|
drawscreen();
|
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
|
|
|
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
int tryrun(lifeform_t *lf, int dir) {
|
- [+] 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 willrun = B_TRUE,rv;
|
|
|
|
if (!moveclear(lf, dir, NULL)) {
|
|
|
|
// don't double move into monsters, etc
|
|
|
|
willrun = B_FALSE;
|
|
|
|
}
|
|
|
|
rv = trymove(lf, dir, B_TRUE, B_TRUE);
|
|
|
|
if (!rv && willrun) {
|
2012-01-16 10:18:20 +11:00
|
|
|
// successful move - start running.
|
|
|
|
addflag(lf->flags, F_RUNNING, dir, B_FALSE, getleftrightwalls(lf), NULL);
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
- [+] 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
|
|
|
return rv;
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
|
|
|
|
2011-05-27 12:50:59 +10:00
|
|
|
int trysneak(lifeform_t *lf, int dir) {
|
|
|
|
if (dir == D_NONE) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
char ques[BUFLEN];
|
|
|
|
char ch;
|
2011-09-01 03:33:35 +10:00
|
|
|
snprintf(ques, BUFLEN, "Carefully %s in which direction (- to cancel)", getmoveverb(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
|
|
|
ch = askchar(ques, "yuhjklbn.-","-", B_FALSE, B_TRUE);
|
2011-05-27 12:50:59 +10:00
|
|
|
dir = chartodir(ch);
|
|
|
|
if (dir == D_NONE) return B_TRUE;
|
|
|
|
} else {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
- [+] 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
|
|
|
addflag(lf->flags, F_CAREFULMOVE, NA, NA, NA, NULL);
|
2011-09-12 09:52:14 +10:00
|
|
|
trymove(lf, dir, B_TRUE, B_FALSE);
|
- [+] 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
|
|
|
killflagsofid(lf->flags, F_CAREFULMOVE);
|
2011-05-27 12:50:59 +10:00
|
|
|
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
// try to pull lifeform towards cell c (or next to it)
|
|
|
|
int pullnextto(lifeform_t *lf, cell_t *c) {
|
|
|
|
int dir;
|
|
|
|
cell_t *dst = NULL;
|
2011-03-24 16:09:31 +11:00
|
|
|
cell_t *newdst = NULL;
|
2011-02-01 06:16:13 +11:00
|
|
|
|
|
|
|
dst = c;
|
|
|
|
|
|
|
|
while (dst->lf) {
|
2011-03-24 16:09:31 +11:00
|
|
|
dir = getdirtowards(dst, lf->cell, lf, B_FALSE, DT_COMPASS);
|
2011-02-01 06:16:13 +11:00
|
|
|
if (dir == D_NONE) {
|
|
|
|
return B_TRUE;
|
|
|
|
} else {
|
|
|
|
dst = getcellindir(dst, dir);
|
|
|
|
if (dst == lf->cell) {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// is the path clear?
|
2011-03-24 16:09:31 +11:00
|
|
|
if (!dst) {
|
2011-02-01 06:16:13 +11:00
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-03-24 16:09:31 +11:00
|
|
|
|
2011-04-06 17:27:55 +10:00
|
|
|
if (!haslof(lf->cell, dst, B_FALSE, &newdst)) {
|
2011-03-24 16:09:31 +11:00
|
|
|
if (newdst) {
|
|
|
|
// update destination
|
|
|
|
dst = newdst;
|
|
|
|
} else {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-03-16 15:45:46 +11:00
|
|
|
if (isplayer(lf) || cansee(player, lf)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
char buf[BUFLEN];
|
|
|
|
getlfname(lf, buf);
|
* [+] 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
|
|
|
msg("%s %s pulled %s!", buf, is(lf),
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
isairborne(lf, NULL) ? "through the air" :
|
2011-02-01 06:16:13 +11:00
|
|
|
"along the ground");
|
|
|
|
}
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
movelf(lf, dst, B_FALSE);
|
2011-02-01 06:16:13 +11:00
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
* [+] 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
|
|
|
|
|
|
|
// do pre-move checks like slipping on stuff in your current cell,
|
|
|
|
// webs, etc.
|
|
|
|
// cell can be null if you're using stairs.
|
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
|
|
|
|
|
|
|
// return true if something happened
|
2011-12-09 11:37:02 +11:00
|
|
|
int initiatemove(lifeform_t *lf, cell_t *cell, int onpurpose, int *didmsg) {
|
* [+] 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 *o, *nexto;
|
|
|
|
char buf[BUFLEN];
|
|
|
|
flag_t *f;
|
2011-10-06 09:08:13 +11:00
|
|
|
int attacking = B_FALSE;
|
|
|
|
|
|
|
|
if (cell && cell->lf && !canswapwith(lf, cell->lf)) attacking = B_TRUE;
|
|
|
|
|
2011-11-03 09:34:15 +11:00
|
|
|
// climbing along a wall?
|
|
|
|
if (isplayer(lf) && isclimbing(lf)) {
|
|
|
|
if (cell != getcellindir(lf->cell, lf->facing)) { // not dropping off the wall
|
2012-11-10 15:06:45 +11:00
|
|
|
if (isexhausted(lf)) {
|
2011-11-03 09:34:15 +11:00
|
|
|
// this shouldn't be able to happen, since if you run out
|
|
|
|
// of stamina while on a wall you'll fall off during startlfturn().
|
|
|
|
msg("You are too tired to climb!");
|
|
|
|
reason = E_OK;
|
|
|
|
return B_TRUE;
|
|
|
|
} else {
|
|
|
|
// must pass a skill check to keep climbing!
|
|
|
|
if (!skillcheck(lf, SC_CLIMB, getcellclimbdifficulty(cell), 0)) {
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
msg("^bYou lose your footing!");
|
2011-11-03 09:34:15 +11:00
|
|
|
stopclimbing(lf, B_FALSE);
|
|
|
|
reason = E_OK;
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2012-05-22 16:10:49 +10:00
|
|
|
if (!lfhasflag(lf, F_SPIDERCLIMB)) {
|
|
|
|
modstamina(lf, -1);
|
|
|
|
}
|
2011-11-03 09:34:15 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-10-06 09:08:13 +11:00
|
|
|
// too tired? (if we're attacking, leave the 'too tired' message to
|
|
|
|
// the attack code)
|
2011-11-08 06:39:43 +11:00
|
|
|
// note: this only impacts the plaeyr
|
2011-11-08 12:19:25 +11:00
|
|
|
/*
|
2011-11-08 06:39:43 +11:00
|
|
|
if (!attacking && !getstamina(lf) && isplayer(lf)) {
|
|
|
|
msg("You are too tired to move!");
|
2011-11-08 12:19:25 +11:00
|
|
|
//} else {
|
2011-10-06 09:08:13 +11:00
|
|
|
// this doesn't count as an action for the player, but it
|
|
|
|
// does for monsters
|
2011-11-08 12:19:25 +11:00
|
|
|
// taketime(lf, getmovespeed(lf));
|
|
|
|
//}
|
2011-10-06 09:08:13 +11:00
|
|
|
reason = E_OK;
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-11-08 12:19:25 +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
|
|
|
|
2011-10-06 09:08:13 +11:00
|
|
|
// checks which only happen if we're MOVING (ie not attacking)
|
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
|
|
|
// demon in pentagram
|
|
|
|
if ((getraceclass(lf) == RC_DEMON) && hasob(lf->cell->obpile, OT_PENTAGRAM)) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You cannot escape the pentagram!");
|
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
char lfname[BUFLEN];
|
|
|
|
getlfname(lf, lfname);
|
|
|
|
msg("%s struggles within a pentagram!", lfname);
|
|
|
|
}
|
|
|
|
reason = E_OK;
|
|
|
|
taketime(lf, getmovespeed(lf));
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
* [+] 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
|
|
|
|
|
|
|
// gravboosted
|
2011-10-06 09:08:13 +11:00
|
|
|
if (!attacking) {
|
|
|
|
if (lfhasflag(lf, F_GRAVBOOSTED)) {
|
|
|
|
// make a saving throw to move
|
2012-07-18 09:03:17 +10:00
|
|
|
if (skillcheck(lf, SC_STR, 125, 0)) {
|
- [+] 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
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You manage to %s despite the strong gravity.", isprone(lf) ? "stand" : "move");
|
|
|
|
if (didmsg) *didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
2011-10-06 09:08:13 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You try to %s but are unable to %s!",
|
|
|
|
isprone(lf) ? "stand" : "move",
|
|
|
|
isprone(lf) ? "lift your arms" : "lift your feet");
|
|
|
|
if (didmsg) *didmsg = B_TRUE;
|
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
char lfname[BUFLEN];
|
|
|
|
getlfname(lf, lfname);
|
|
|
|
msg("%s tries to %s but is unable to %s!", lfname,
|
|
|
|
isprone(lf) ? "stand" : "move",
|
|
|
|
isprone(lf) ? "get up" : "lift its feet");
|
|
|
|
if (didmsg) *didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
reason = E_OK;
|
|
|
|
taketime(lf, getmovespeed(lf));
|
|
|
|
return B_TRUE;
|
* [+] 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
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-10-06 09:08:13 +11:00
|
|
|
// sticky objects in current cell?
|
|
|
|
for (o = lf->cell->obpile->first ; o ; o = nexto) {
|
|
|
|
nexto = o->next;
|
* [+] 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
|
|
|
|
2011-10-06 09:08:13 +11:00
|
|
|
f = obrestrictsmovement(o, lf);
|
|
|
|
if (f) {
|
|
|
|
char lfname[BUFLEN];
|
|
|
|
int diff;
|
|
|
|
int checkmod = 0;
|
|
|
|
int getsweaker;
|
2011-06-09 18:58:35 +10:00
|
|
|
|
2011-10-06 09:08:13 +11:00
|
|
|
// for stacks of sticky objects, each one after the first adds
|
|
|
|
// quarter its difficuly. ie:
|
|
|
|
// 1 x object with f_sticky:20, difficult is 20
|
|
|
|
// 2 x object with f_sticky:20, difficult is 25
|
|
|
|
// 3 x object with f_sticky:20, difficult is 30
|
|
|
|
// etc
|
|
|
|
// can you break free?
|
|
|
|
diff = f->val[0];
|
|
|
|
if (o->amt > 1) {
|
2012-07-18 09:03:17 +10:00
|
|
|
diff += ((o->amt - 1) * ((float)f->val[0] / 4.0));
|
* [+] 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
|
|
|
}
|
2011-10-06 09:08:13 +11:00
|
|
|
getsweaker = f->val[1];
|
- [+] 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
|
|
|
|
|
|
|
|
|
|
|
if (o->type->id == OT_WEB) {
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if (isairborne(lf, NULL)) {
|
- [+] 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
|
|
|
checkmod -= 5;
|
|
|
|
}
|
|
|
|
if (lf->race->raceclass->id == RC_INSECT) {
|
|
|
|
// basically impossible.
|
|
|
|
checkmod -= 20;
|
|
|
|
if (!isplayer(lf)) {
|
|
|
|
// AND you will never escape!
|
|
|
|
getsweaker = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
getlfname(lf,lfname);
|
2012-03-06 21:47:26 +11:00
|
|
|
real_getobname(o, buf, o->amt, B_PREMODS, B_NOCONDITION, B_BLINDADJUST, B_NOBLESSINGS, B_NOUSED, B_NOSHOWALL);
|
2011-10-06 09:08:13 +11:00
|
|
|
if (skillcheck(lf, SC_STR, diff, checkmod)) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You tear free from %s!", buf);
|
|
|
|
if (didmsg) *didmsg = B_TRUE;
|
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
msg("%s tears free from %s!", lfname, buf);
|
|
|
|
if (didmsg) *didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
killob(o);
|
|
|
|
continue;
|
|
|
|
} else {
|
|
|
|
// failed - object gets a little less sticky
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You struggle in %s!", buf);
|
|
|
|
if (didmsg) *didmsg = B_TRUE;
|
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
msg("%s struggles in %s!", lfname, buf);
|
|
|
|
if (didmsg) *didmsg = B_TRUE;
|
|
|
|
}
|
* [+] 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
|
|
|
|
2011-10-06 09:08:13 +11:00
|
|
|
if (getsweaker) {
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
takedamage(o, 1, DT_DIRECT, NULL);
|
2011-10-06 09:08:13 +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
|
|
|
|
2011-10-06 09:08:13 +11:00
|
|
|
taketime(lf, getmovespeed(lf));
|
|
|
|
|
|
|
|
reason = E_OK;
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
* [+] 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
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
* [+] 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
|
|
|
// are we on the ground?
|
2012-07-30 12:35:02 +10:00
|
|
|
if (isprone(lf) && (!isplayer(lf) || !attacking) && onpurpose) {
|
2011-10-06 09:08:13 +11:00
|
|
|
int willstand = B_FALSE;
|
* [+] 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
|
|
|
if (isplayer(lf)) {
|
2011-10-06 09:08:13 +11:00
|
|
|
if (!attacking) {
|
|
|
|
// player can attack from the ground
|
|
|
|
willstand = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
// monsters always stand up
|
|
|
|
willstand = B_TRUE;
|
* [+] 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
|
|
|
}
|
2011-10-06 09:08:13 +11:00
|
|
|
|
|
|
|
if (willstand) {
|
- [+] 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
|
|
|
standup(lf);
|
2016-06-01 16:51:09 +10:00
|
|
|
|
2011-10-06 09:08:13 +11:00
|
|
|
reason = E_OK;
|
- [+] 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
|
|
|
// doesn't count as a move for monster who were feigning death!
|
2011-10-06 09:08:13 +11:00
|
|
|
if (!isplayer(lf) && lfhasflag(lf, F_FEIGNINGDEATH)) {
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
* [+] 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
|
|
|
}
|
|
|
|
|
|
|
|
|
2016-06-02 16:47:27 +10:00
|
|
|
// slipping on something before moving?
|
2012-07-30 12:35:02 +10:00
|
|
|
if (!attacking && onpurpose) {
|
2016-06-02 16:47:27 +10:00
|
|
|
if (cell && !isairborne(lf, NULL)) { // use 'cell' rather than lf->cell so that we can skip the check when using stairs.
|
2011-10-06 09:08:13 +11:00
|
|
|
int slip;
|
|
|
|
object_t *slipob;
|
|
|
|
|
- [+] 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
|
|
|
if (!lfhasflag(lf, F_CAREFULMOVE)) {
|
2016-06-02 16:47:27 +10:00
|
|
|
slip = getslipperyness(lf->cell, &slipob);
|
2011-10-06 09:08:13 +11:00
|
|
|
if (slip && !skillcheck(lf, SC_SLIP, slip, 0)) {
|
|
|
|
if (!slipon(lf, slipob)) {
|
* [+] 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
|
|
|
if (didmsg) *didmsg = B_TRUE;
|
2011-10-06 09:08:13 +11:00
|
|
|
// don't move
|
|
|
|
reason = E_OK;
|
|
|
|
return B_TRUE;
|
* [+] 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
|
|
|
}
|
2011-10-06 09:08:13 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// check for cursed objects in new cell + animals
|
|
|
|
// do this AFTER checking if we will move, so that
|
|
|
|
// they will actually try the move and fail (this lets
|
|
|
|
// the player find out about the cursed object).
|
|
|
|
//
|
|
|
|
// note however that if a monster is chasing a player (ie
|
|
|
|
// has F_TARGET,player) then they will simply avoid the cursed
|
|
|
|
// object rather than failing the movement.
|
2011-12-09 11:37:02 +11:00
|
|
|
if (cell && onpurpose) {
|
2011-10-06 09:08:13 +11:00
|
|
|
for (o = cell->obpile->first ; o ; o = nexto) {
|
|
|
|
nexto = o->next;
|
|
|
|
if (!isplayer(lf)) {
|
- [+] djin and efreeti should hate each other
- [+] 'G' isn't remembering direction anymore
- [+] beginner athletics: give skill where misisng in a melee attack
doesn't cost stamina
- [+] klikirak shoudl like ALL obejct desctruction, but PREFER via fire.
- [+] insects shoudl ahve infinite stamina
- [+] replace DIECONVERT planks of wood type code
- [+] instead, materials have dieconvert values based on damage.
- [+] getsmallbreakob(material,damtype)
- [+] getlargebreakob(material, damtype)
- [+] when an object dies, lookup its material and obejct size
- [+] ie. large wooden objects turn into "x planks of wood"
- [+] small ones turn into "x shards of wood"
- [+] then remove TODO: code from changemat() in objects.c
- [+] allow for hardcoded getsmallbrekaob, getbigbreakob
- [+] F_BREAKOB, v0=damtype, v1=howmany, text = what
- [+] remove specific code, like fire damage = pile of ash.
ice+bash = shards, etc.
- [+] can use shards/planks of wood as (poor) weapons.
- [+] jackhammer shoudl be tech, not tool./
- [+] digging tools should make noise
- [+] remove freezing touch spell/scroll
- [+] better listen check when asleep - slithering should very rarely
wake you up
- [+] use adjusted volume value based on sleeping etc.
- [+] breaking locks by bashing should now work.
- [+] I'm often getting "The hollow tree seems to be blocked." when
going to the sylvan woods.
- [+] there is a tree in the way!
- [+] fixed.
- [+] bug: evil players not getting xp for killing helpless. fixed.
- [+] bug: pullobto() not doing correct impassable check.
- [+] another bug: insylvan woods, stairs were on top of water!!!
- [+] ERROR - couldnt find pos for down stairs while making habitat
forest.--More--
- [+] repairing should make noise too
- [+] new flag - USENOISE
- [+] EATCONFER on clove of garlic isn't working
- [+] it's because i'm only checking this if we have MUTABLE.
- [+] use EATMUTATE instead for mutations. then eatconfer works
with everything.
- [+] more crush bugs
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] You crush some pieces of broken glass underfoot.
You see 28 pieces of broken glass here.
- [+] anything with natural flight sohuld still make noise when flying.
otherwise it's too powerful.
- [+] "wing flapping" . NV FLY
- [+] NOISETEXT NV_FLY
- [+] magical flight can still be silent.
- [+] make how high you can fly depend on the "Flight" or "Natural
Flight" skill.
- [+] F_FLYING v0 = height.
- [+] without this skill, flight is dependant on spell power.
- [+] assign sk_flying to races.
- [+] remove F_FLIGHTEVASION from races. skill now does this
instead.
- [+] validaterace:
- [+] canwill ot_a_flight = need flight skill
- [+] each rank = +1 size level of height.
- [+] if you get the skill while already flying, adjust the flag
- [+] fall from flying if burduned.
- [+] skill also affacts how much your evasion while flying is
boosted.
- [+] this extra EV bonus from flight sohuld only work against
NON flying creatures!
- [+] 5 EV per rank
- [+] have a differnet fly ability
- [+] ability = flight or fly (use flying skill for height)
- [+] implement
- [+] replace monster flight with ability.
- [+] spell = enchanted flight (use spell power for ehgiht)
- [+] check all occurences of FROMSPELL, cope with FROMABIL too.
- [+] don't regenerate stamina when doing natural flight.
- [+] ai: if flying and no stamina left, stop flying.
- [+] ai: only start flying if we have >= 80% stamina.
- [+] how did a nutter miss a mammoan from point blank range?
- [+] the nutter is throwing a peanut - acc = 64, speed = 2
- [+] maybe fixed now.
- [+] felix should like using poison.
- [+] when asking whether you accept a god's offer, give a '?' option,
to give help on that god.
- [+] also have F_GODDECLINE text.
- [+] pipes of peace - calms everyone around you. charges.
2012-11-22 14:13:27 +11:00
|
|
|
if ((o->blessed == B_CURSED) && (getraceclass(lf) == RC_ANIMAL) && !isairborne(lf, NULL)) {
|
2011-10-06 09:08:13 +11:00
|
|
|
if (cansee(player, lf)) {
|
|
|
|
char lfname[BUFLEN];
|
|
|
|
getlfname(lf,lfname);
|
|
|
|
getobname(o, buf, o->amt);
|
|
|
|
msg("%s %s away from %s!", lfname, isplayer(lf) ? "shy" : "shies", buf);
|
|
|
|
o->blessknown = B_TRUE;
|
|
|
|
if (didmsg) *didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
taketime(lf, getmovespeed(lf));
|
|
|
|
reason = E_OK;
|
|
|
|
// avoid this object in future
|
|
|
|
snprintf(buf, BUFLEN, "%ld",o->id);
|
|
|
|
addflag(lf->flags, F_AVOIDOB, B_CURSED, NA, NA, buf);
|
|
|
|
return B_TRUE;
|
|
|
|
} else if (lfhasflagval(lf, F_AVOIDOBTYPE, o->type->id, NA, NA, NULL)) {
|
|
|
|
if (cansee(player, lf)) {
|
|
|
|
char lfname[BUFLEN];
|
|
|
|
getlfname(lf,lfname);
|
|
|
|
getobname(o, buf, o->amt);
|
|
|
|
msg("%s %s away from %s!", lfname, isplayer(lf) ? "shy" : "shies", buf);
|
|
|
|
o->blessknown = B_TRUE;
|
|
|
|
if (didmsg) *didmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
taketime(lf, getmovespeed(lf));
|
|
|
|
reason = E_OK;
|
|
|
|
// avoid this object in future
|
|
|
|
snprintf(buf, BUFLEN, "%ld",o->id);
|
|
|
|
addflag(lf->flags, F_AVOIDOB, NA, NA, NA, buf);
|
|
|
|
return B_TRUE;
|
2011-08-06 07:34:35 +10:00
|
|
|
}
|
|
|
|
}
|
* [+] 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
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
* [+] 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
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2012-01-25 20:20:15 +11:00
|
|
|
int rotatedir(int origdir, enum TURNDIR whichway, int amt) {
|
|
|
|
int newdir,mod,i;
|
|
|
|
newdir = origdir;
|
|
|
|
if (whichway == TD_RIGHT) {
|
|
|
|
mod = 1;
|
|
|
|
} else {
|
|
|
|
mod = -1;
|
|
|
|
}
|
|
|
|
for (i = 0; i < amt; i++) {
|
|
|
|
newdir += mod;
|
|
|
|
if (newdir > DC_NW) newdir = DC_N;
|
|
|
|
if (newdir < DC_N) newdir = DC_NW;
|
|
|
|
}
|
|
|
|
return newdir;
|
|
|
|
}
|
|
|
|
|
- [+] 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 standup(lifeform_t *lf) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You stand up.");
|
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
char lfname[BUFLEN];
|
|
|
|
getlfname(lf, lfname);
|
|
|
|
msg("%s stands up.",lfname);
|
|
|
|
}
|
|
|
|
killflagsofid(lf->flags, F_PRONE);
|
2011-11-23 19:20:42 +11:00
|
|
|
if (killflagsofid(lf->flags, F_FEIGNINGDEATH)) {
|
|
|
|
// have to redraw the screen so that the corpse glyph will
|
|
|
|
// change into the lf's glyph
|
|
|
|
if (cansee(player, lf)) needredraw = B_TRUE;
|
|
|
|
}
|
- [+] 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
|
|
|
// monsters don't take time to stand up if they were feigning death!
|
|
|
|
if (!isplayer(lf) && lfhasflag(lf, F_FEIGNINGDEATH)) {
|
|
|
|
} else {
|
- [+] 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
|
|
|
int baseunits = 0,armourunits = 0,totunits = 0,howlong;
|
- [+] 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
|
|
|
float quartermax;
|
- [+] 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
|
|
|
enum LFSIZE sz;
|
|
|
|
// time to get up depends on size and armour
|
|
|
|
|
|
|
|
// base time depends on size
|
|
|
|
sz = getlfsize(lf);
|
|
|
|
if (sz < SZ_HUMAN) {
|
|
|
|
baseunits = 0;
|
|
|
|
} else if (sz == SZ_HUMAN) {
|
|
|
|
baseunits = 1;
|
|
|
|
} else if (sz == SZ_LARGE) {
|
|
|
|
baseunits = 2;
|
|
|
|
} else { // ie. SZ_HUGE or larger
|
|
|
|
baseunits = 3;
|
|
|
|
}
|
|
|
|
|
- [+] 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
|
|
|
// 1*movespeed for every 1/4 of maxcarryweight being worn.
|
|
|
|
quartermax = getmaxcarryweight(lf) / 4;
|
- [+] 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
|
|
|
if (quartermax > 0) {
|
|
|
|
armourunits = (getequippedweight(lf) / quartermax);
|
|
|
|
}
|
|
|
|
totunits = baseunits + armourunits;
|
|
|
|
howlong = getmovespeed(lf) * totunits;
|
|
|
|
|
|
|
|
if (howlong > 0) {
|
|
|
|
taketime(lf, howlong);
|
|
|
|
}
|
- [+] 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
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-06-03 08:43:18 +10:00
|
|
|
void swapplaces(lifeform_t *lf1, lifeform_t *lf2, int changedir1, int changedir2, 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
|
|
|
cell_t *cell1,*cell2;
|
2012-06-03 08:43:18 +10:00
|
|
|
int tempfacing;
|
* [+] 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
|
|
|
|
* [+] 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
|
|
|
cell1 = lf1->cell;
|
|
|
|
cell2 = lf2->cell;
|
|
|
|
|
|
|
|
// make lf who is there vanish temporarily...
|
|
|
|
cell2->lf = NULL;
|
|
|
|
lf2->cell = NULL;
|
|
|
|
|
2012-11-15 22:39:46 +11:00
|
|
|
// make moving lf vanish temporarily...
|
|
|
|
//cell1->lf = NULL;
|
|
|
|
//lf1->cell = NULL;
|
|
|
|
|
|
|
|
// move you
|
* [+] 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
|
|
|
moveto(lf1, cell2, onpurpose, B_FALSE);
|
|
|
|
|
|
|
|
// move them...
|
|
|
|
lf2->cell = cell1;
|
|
|
|
cell1->lf = lf2;
|
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
|
|
|
|
2012-06-03 08:43:18 +10:00
|
|
|
tempfacing = lf1->facing;
|
|
|
|
if (changedir1) {
|
|
|
|
setfacing(lf1, lf2->facing);
|
|
|
|
}
|
|
|
|
if (changedir2) {
|
|
|
|
setfacing(lf2, tempfacing);
|
2011-09-28 04:56:58 +10:00
|
|
|
}
|
|
|
|
|
- [+] 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
|
|
|
// remember that we just swapped, and this counts as a move
|
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
|
|
|
if (!isplayer(lf1)) {
|
2011-11-09 12:18:07 +11:00
|
|
|
if (!hasflag(lf1->flags, F_NOSWAP)) addflag(lf1->flags, F_NOSWAP, B_TRUE, NA, NA, NULL);
|
2011-12-19 19:04:49 +11:00
|
|
|
addflagifneeded(lf1->flags, F_MOVED, B_TRUE, NA, NA, NULL);
|
|
|
|
addflagifneeded(lf1->flags, F_TOOKACTION, B_TRUE, NA, NA, NULL);
|
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
|
|
|
}
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
setlosdirty(lf1);
|
|
|
|
setlosdirty(lf2);
|
2012-12-06 15:57:13 +11:00
|
|
|
|
|
|
|
// ie. asleep, meditating or unconscious
|
|
|
|
if (lfhasflag(lf2, F_ASLEEP)) {
|
|
|
|
stir(lf2, SV_TALK, 1, NULL);
|
|
|
|
}
|
* [+] 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
|
|
|
}
|
* [+] 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
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
// teleport somewhere, along with puffs of smoke etc
|
2011-03-16 15:45:46 +11:00
|
|
|
int teleportto(lifeform_t *lf, cell_t *c, int wantsmoke) {
|
2011-02-01 06:16:13 +11:00
|
|
|
char buf[BUFLEN];
|
2011-03-04 12:22:36 +11:00
|
|
|
|
|
|
|
// can't teleport on top of something else
|
|
|
|
if (c->lf) {
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
// go somewhere nearby
|
- [+] vault:pub
- [+] has lots of recruitable people
- [+] plants, magic creatures, etc shoudl have infinite staina
- [+] severed fingers/heads are no longer considered "corpses".
- [+] new kind of bed: pile of straw
- [+] closed shops now work properly.
- [+] stench skillcheck (in makenauseated) - announce this differenlty
to 'nothing happen's
- [+] monsters won't turn to face sounds when fleeing.
- [+] increase accuracy for spear, but reduce accuracy when adjacent
- [+] why didn't cyborg warrior start with bullwhip equiped??
- [+] isbetterwepthan() should take EXTRADAM flag into account
- [+] monster starting skill levels should depend on iq
- [+] no sprinting with injured legs
- [+] more restructions when stunned:
- [+] no throwing
- [+] no operating
- [+] no firearms
- [+] tombstone text: Eaten by a snow troll's halberd
- [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant
corpse! reduced.
- [+] learning certain lore skills should please gods
- [+] repairing should take a lot longer. ie. shoudlbn't be able to do
it during a fight.
- [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR,
v0=material, v1=howmuch
- [+] continuerepairing() should only fix <skill + helpsrepair> hp
per turn.
- [+] announce helpsrepair in obdesc
- [+] coldroom vault:
- [+] ice floor
- [+] ice walls
- [+] ice pillar
- [+] frozen corpses
- [+] new job: gladiator
- [+] sword
- [+] shield
- [+] high shield skill
- [+] high evasion skill
- [+] limited armour skill
- [+] net
- [+] war cry fairly early on
- [+] gust of wind and airblast should drop flying creatures
- [+] fall_from_air().
- [+] trigger then when wind-based effects hit.
- [+] chance of falling depends on size.
- [+] if you polymorph a monster, it should NOT turn back to its
original form!
- [+] criticals dont seem to be happening any more... fixed
- [+] when picking first askcoords target lf, pick the closest
- [+] sakcs etc should contain rarer objects.
- [+] intelligent ai: if exhausted and in battle, and faster than
opponent, flee.???
- [+] easy way to fix reachability:
- [+] is there a solid cell which is:
- [+] adjacent to both a filled and an unfilled area?
- [+] not a fixed vault wall?
- [+] if so, just clear it.
- [+] genericise getrandomrace flags
- [+] some containers should have mini/tiny monsters inside!
- [+] f_hashidinglf, v0=rid
- [+] if you loot it, monster jumps out
- [+] ...and gets a free hit!
- [+] perception lets you see the container moving (only if it
weighs less than what is inside it)
- [+] genericise getrandomcell() with conditionsets.
* [+] condset_t
- [+] then replace all getrandomadjcell() calls...
- [+] remove getrandomroomcells
- [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
|
|
|
c = getrandomadjcell(c, &ccwalkable, B_ALLOWEXPAND);
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
if (!c) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You feel a wrenching sensation.");
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-03-16 15:45:46 +11:00
|
|
|
if (!isplayer(lf) && cansee(player, lf)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
getlfname(lf, buf);
|
2011-03-16 15:45:46 +11:00
|
|
|
if (wantsmoke) {
|
|
|
|
msg("%s disappears in a cloud of smoke!", buf);
|
|
|
|
} else {
|
|
|
|
msg("%s vanishes!", buf);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (wantsmoke) {
|
|
|
|
addob(lf->cell->obpile, "cloud of smoke");
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
movelf(lf, c, B_FALSE);
|
2011-03-18 12:25:18 +11:00
|
|
|
|
|
|
|
if (cansee(player, lf)) {
|
|
|
|
redraw(); // redraw screen
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("Suddenly, your surroundings appear different!");
|
2011-03-16 15:45:46 +11:00
|
|
|
} else if (cansee(player, lf)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
getlfname(lf, buf);
|
2012-11-09 22:50:52 +11:00
|
|
|
if (getraceclass(lf) == RC_GOD) {
|
2012-11-14 15:59:18 +11:00
|
|
|
msg("^w%s %s!", buf, getflagtext(lf->flags, F_GODTEXTAPPEAR));
|
2012-11-09 22:50:52 +11:00
|
|
|
} else {
|
|
|
|
msg("%s appears!", buf);
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
// show any objects here, just like if we moved.
|
|
|
|
// BUT don't let dolook() clear the msg bar if there are
|
|
|
|
// no objects here.
|
2012-02-02 15:33:24 +11:00
|
|
|
if (isplayer(lf) && countnoncosmeticobs(lf->cell->obpile, B_TRUE, B_TRUE)) {
|
2011-05-06 10:34:42 +10:00
|
|
|
dolook(lf->cell, B_FALSE);
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
- [+] 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
|
|
|
|
|
|
|
// for enemies, if we teleported and now can't see the person(s) we were fleeing
|
|
|
|
// from, stop fleeing.
|
|
|
|
if (!isplayer(lf)) {
|
|
|
|
flag_t *retflag[MAXCANDIDATES];
|
|
|
|
int nretflags,i;
|
|
|
|
getflags(lf->flags, retflag, &nretflags, F_FLEEFROM, F_NONE);
|
|
|
|
for (i = 0; i < nretflags; i++) {
|
|
|
|
lifeform_t *thisone;
|
|
|
|
thisone = findlf(lf->cell->map, retflag[i]->val[0]);
|
|
|
|
if (thisone && !haslof(lf->cell, thisone->cell, LOF_WALLSTOP, NULL)) {
|
|
|
|
killflag(retflag[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2016-06-01 23:59:39 +10:00
|
|
|
// trigger an actual trap object (ie. OC_TRAP)
|
2011-08-31 06:10:43 +10:00
|
|
|
void triggertrap(lifeform_t *lf, object_t *o, object_t *trapob, cell_t *where) {
|
|
|
|
char triggerer[BUFLEN];
|
|
|
|
char trapname[BUFLEN];
|
|
|
|
int wants;
|
2012-02-02 15:33:24 +11:00
|
|
|
flag_t *wassecret = NULL;
|
|
|
|
wassecret = hasflag(trapob->flags, F_SECRET);
|
2011-08-31 06:10:43 +10:00
|
|
|
getobname(trapob, trapname, 1);
|
|
|
|
if (lf) {
|
|
|
|
getlfname(lf, triggerer);
|
|
|
|
if (isplayer(lf)) wants = B_FALSE;
|
|
|
|
else wants = B_TRUE;
|
|
|
|
} else {
|
|
|
|
getobname(o, triggerer, o->amt);
|
|
|
|
if (o->amt == 1) wants = B_TRUE;
|
|
|
|
else wants = B_FALSE;
|
|
|
|
}
|
|
|
|
if (haslos(player, where)) {
|
|
|
|
msg("%s trigger%s %s!", triggerer, (wants) ? "s" : "", trapname);
|
|
|
|
if (lf && isplayer(lf)) more();
|
|
|
|
|
|
|
|
// no longer hidden
|
|
|
|
killflagsofid(trapob->flags, F_SECRET);
|
|
|
|
}
|
2012-02-02 15:33:24 +11:00
|
|
|
|
|
|
|
if (lf && wassecret && isplayer(lf) && godprayedto(R_GODMERCY)) {
|
|
|
|
enum PIETYLEV plev;
|
|
|
|
plev = getpietylev(R_GODMERCY, NULL, NULL);
|
|
|
|
if ((plev >= PL_PLEASED) && pctchance(plev*33)) {
|
|
|
|
godsay(R_GODMERCY, B_TRUE, "We all make mistakes...");
|
|
|
|
// bamf away
|
2012-03-29 07:17:47 +11:00
|
|
|
dospelleffects(NULL, OT_S_BLINK, 1, lf, NULL, lf->cell, B_UNCURSED, NULL, B_FALSE, NULL);
|
2012-02-02 15:33:24 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-08-31 06:10:43 +10:00
|
|
|
// NOTE: after trapeffects(), oo might be killed.
|
2012-07-15 23:27:45 +10:00
|
|
|
trapeffects(trapob, trapob->type->id, where, NULL);
|
2011-08-31 06:10:43 +10:00
|
|
|
if (lf) interrupt(lf);
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
|
2011-09-12 09:52:14 +10:00
|
|
|
int trymove(lifeform_t *lf, int dir, int onpurpose, int strafe) {
|
2010-12-02 12:17:54 +11:00
|
|
|
cell_t *cell;
|
|
|
|
enum ERROR errcode;
|
2011-02-01 06:16:13 +11:00
|
|
|
char buf[BUFLEN];
|
* [+] 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 dontclearmsg = B_FALSE;
|
* [+] 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 moveok;
|
- [+] 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 rndmove = B_FALSE;
|
2011-09-12 09:52:14 +10:00
|
|
|
int howlong;
|
2011-09-13 09:52:21 +10:00
|
|
|
int reldir;
|
- [+] 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 srcmoney = 0;
|
2012-01-25 20:20:15 +11:00
|
|
|
int prebattle = B_FALSE;
|
2012-05-22 16:10:49 +10:00
|
|
|
int prebattlearmed = B_FALSE;
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
flag_t *fleeing = NULL;
|
2012-01-25 20:20:15 +11:00
|
|
|
// are we next to an enemy who we can see?
|
2012-05-22 16:10:49 +10:00
|
|
|
prebattle = isinbattle(lf, B_NODISTANT, B_FALSE);
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
// only care about this for players
|
|
|
|
prebattlearmed = isinbattle(lf, B_NODISTANT, B_ONLYIFARMED);
|
|
|
|
}
|
2011-04-14 09:44:29 +10:00
|
|
|
|
2011-09-12 09:52:14 +10:00
|
|
|
howlong = getmovespeed(lf);
|
|
|
|
|
2011-09-13 09:52:21 +10:00
|
|
|
reldir = getrelativedir(lf, dir);
|
|
|
|
|
2012-08-01 07:19:04 +10:00
|
|
|
fleeing = isfleeing(lf);
|
|
|
|
|
2011-11-02 12:10:50 +11:00
|
|
|
if (isclimbing(lf)) strafe = B_TRUE;
|
- [+] 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
|
|
|
|
2011-09-28 04:56:58 +10:00
|
|
|
if (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
|
|
|
if (isplayer(lf)) {
|
|
|
|
srcmoney = countmoney(lf->cell->obpile);
|
|
|
|
}
|
2011-09-28 04:56:58 +10:00
|
|
|
if ((reldir != RD_FORWARDS) && !lfhasflag(lf, F_AWARENESS)) {
|
|
|
|
// if the given dir is behind us, just turn.
|
|
|
|
if (!strafe) {
|
2012-11-15 22:39:46 +11:00
|
|
|
int prerotated = lf->rotated;
|
- [+] 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
|
|
|
takerotationtime(lf);
|
2011-09-13 09:52:21 +10:00
|
|
|
setfacing(lf, 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
|
|
|
drawscreen();
|
|
|
|
|
2012-12-07 15:42:14 +11:00
|
|
|
if (isplayer(lf) && !lfhasflag(lf, F_AICONTROLLED) && !lfhasflag(lf, F_RUNNING)) {
|
2011-12-20 19:03:15 +11:00
|
|
|
addflagifneeded(lf->flags, F_TURNED, B_TRUE, NA, NA, NULL);
|
|
|
|
lf->turncounter++;
|
|
|
|
if (lf->turncounter >= 5) {
|
|
|
|
// get dizzy for 2 turns
|
|
|
|
addtempflag(lf->flags, F_CONFUSED, B_TRUE, NA, NA, NULL, 3);
|
|
|
|
}
|
|
|
|
}
|
2012-01-25 20:20:15 +11:00
|
|
|
// check for fleeing...
|
|
|
|
if (isplayer(lf) && !isdead(lf)) {
|
2012-05-22 16:10:49 +10:00
|
|
|
if (prebattlearmed && !isinbattle(lf, B_NODISTANT, B_ONLYIFARMED) && onpurpose) {
|
2012-03-23 15:36:32 +11:00
|
|
|
angergodmaybe(R_GODBATTLE, 5, GA_COWARD);
|
2012-01-25 20:20:15 +11:00
|
|
|
}
|
|
|
|
}
|
2012-11-15 22:39:46 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
return B_FALSE;
|
|
|
|
} else {
|
|
|
|
// for ai, only return if this wasn't our 'free' turn action.
|
|
|
|
if (prerotated) {
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
2011-09-28 04:56:58 +10:00
|
|
|
} else {
|
|
|
|
// player can't strafe while stuck.
|
|
|
|
if (isstuck(lf) && isplayer(lf)) {
|
|
|
|
msg("You can't move %s while stuck!", (reldir == RD_BACKWARDS) ? "backwards" : "sideways");
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-09-13 09:52:21 +10:00
|
|
|
}
|
2011-09-12 09:52:14 +10:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-09-28 04:56:58 +10:00
|
|
|
|
2012-12-07 15:42:14 +11:00
|
|
|
rndmove = willmoverandomly(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
|
|
|
if (rndmove) {
|
|
|
|
dir = rnd(DC_N, DC_NW);
|
2011-11-23 08:32:10 +11:00
|
|
|
strafe = B_TRUE;
|
2011-04-14 09:44:29 +10:00
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
|
|
|
|
cell = getcellindir(lf->cell, dir);
|
* [+] 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
|
|
|
|
- [+] 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
|
|
|
// warn if moving will cause damage
|
- [+] 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
|
|
|
/*
|
- [+] 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
|
|
|
if (cell && !cell->lf && onpurpose && isplayer(lf) ) {
|
2011-09-28 11:05:10 +10:00
|
|
|
if (!confirm_injury_action(BP_LEGS, DT_SLASH, "move")) {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
- [+] 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
|
|
|
*/
|
2011-09-28 11:05:10 +10:00
|
|
|
|
|
|
|
// warn before moving onto dangerous cells
|
2012-12-06 15:57:13 +11:00
|
|
|
if (onpurpose && isplayer(lf) && !lfhasflag(lf, F_CAREFULMOVE) && !rndmove && !lfhasflag(lf, F_RAGE)) {
|
2011-11-03 09:34:15 +11:00
|
|
|
char ques[BUFLEN];
|
|
|
|
char ch;
|
2011-05-27 10:41:34 +10:00
|
|
|
if (cell && celldangerous(lf, cell, B_TRUE, &errcode)) {
|
2011-08-25 09:48:29 +10:00
|
|
|
if ((errcode == E_AVOIDOB) && rdata) {
|
|
|
|
char obname[BUFLEN];
|
|
|
|
object_t *avoidob;
|
|
|
|
avoidob = (object_t *)rdata;
|
|
|
|
getobname(avoidob, obname, avoidob->amt);
|
2011-09-01 03:33:35 +10:00
|
|
|
snprintf(ques, BUFLEN, "Really %s into %s?", getmoveverb(lf), obname);
|
2011-08-25 09:48:29 +10:00
|
|
|
} else {
|
2011-09-01 03:33:35 +10:00
|
|
|
snprintf(ques, BUFLEN, "Really %s there?", getmoveverb(lf));
|
2011-08-25 09:48:29 +10:00
|
|
|
}
|
- [+] 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
|
|
|
ch = askchar(ques, "yn","n", B_TRUE, B_FALSE);
|
2011-08-25 09:48:29 +10:00
|
|
|
if (ch != 'y') {
|
|
|
|
return B_TRUE;
|
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
|
|
|
}
|
2011-09-28 11:05:10 +10:00
|
|
|
}
|
2011-11-03 09:34:15 +11:00
|
|
|
if (isclimbing(lf) && (cell != getcellindir(lf->cell, lf->facing)) && (getstamina(lf) - 1 <= 0)) {
|
|
|
|
snprintf(ques, BUFLEN, "Climbing further will exhaust you - continue?");
|
|
|
|
ch = askchar(ques, "yn","n", B_TRUE, B_FALSE);
|
|
|
|
if (ch != 'y') {
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
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
|
|
|
}
|
|
|
|
|
|
|
|
moveok = B_FALSE;
|
|
|
|
if (moveclear(lf, dir, &errcode)) {
|
|
|
|
if (onpurpose) {
|
|
|
|
if (canandwillmove(lf, dir, &errcode)) {
|
|
|
|
moveok = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
* [+] 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
|
|
|
moveok = B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (moveok) {
|
|
|
|
lifeform_t *alf;
|
2011-12-09 11:37:02 +11:00
|
|
|
if (initiatemove(lf, cell, onpurpose, &dontclearmsg)) {
|
* [+] 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
|
|
|
// failed?
|
2012-08-01 07:19:04 +10:00
|
|
|
if (fleeing) taketime(lf, getmovespeed(lf)); // still take time
|
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
|
|
|
return B_TRUE;
|
2011-04-01 10:54:44 +11:00
|
|
|
}
|
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
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
reason = E_OK;
|
* [+] 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
|
|
|
|
|
|
|
// remember last dir we walked
|
|
|
|
killflagsofid(lf->flags, F_LASTDIR);
|
|
|
|
addflag(lf->flags, F_LASTDIR, dir, NA, NA, NULL);
|
|
|
|
|
2011-10-17 09:45:36 +11:00
|
|
|
// add footprints/scents in our current cell.
|
|
|
|
addtrail(lf, lf->cell, dir, B_TRUE, B_TRUE);
|
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
|
|
|
|
* [+] 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
|
|
|
// do your pets see you move?
|
|
|
|
if (isplayer(lf) && (gamemode == GM_GAMESTARTED)) {
|
|
|
|
lifeform_t *l;
|
|
|
|
for (l = lf->cell->map->lf ; l ; l = l->next) {
|
2011-05-27 10:41:34 +10:00
|
|
|
flag_t *tf;
|
|
|
|
if (isplayer(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
|
|
|
tf = ispetortarget(l, lf);
|
|
|
|
if (tf) {
|
2011-05-27 10:41:34 +10:00
|
|
|
if (cansee(l, lf)) {
|
- [+] CRASH in killflag()
- [+] symptoms
- [+] often happens right after creating a new map (ie. trigger
it through a gate spell)
- [+] bug in createriver(). fixed.
- [+] somehow casting GATE is causing object flagpiles on
the PLAYER's map to become corrupted.
- [+] "the young hawk wakes up" CRASH, flagpile corrupt on
stone.
- [+] object itself seems okay.
- [+] o->flags is becoming corrupt!!!
- [+] so all its flags are becoming corrupt (id = massive
number, next = fffff)
- [+] traceback:
- [+] #0 0x0000000100081188 in killflag (f=0x103321090) at
flag.c:815
#1 0x0000000100081b3a in timeeffectsflag
(f=0x103321090, howlong=1) at flag.c:1075
#2 0x00000001000825f8 in timeeffectsflags
(fp=0x1038e0600) at flag.c:1302
#3 0x0000000100129b01 in timeeffectsob
(o=0x1036e2460) at objects.c:11877
#4 0x0000000100005114 in timeeffectsworld
(map=0x102aa1a00, updategametime=-1) at nexus.c:1685
#5 0x0000000100003a28 in donextturn
(map=0x102aa1a00) at nexus.c:952
#6 0x00000001000029b1 in main (argc=1,
argv=0x7fff5fbff848) at nexus.c:525
- [+] try this: in timeeffectsflags on objects, check PREVIOUS
object's flagpile.
- [+] try this: add checkflagS() after updatefpindex
- [+] NOT happening during timeeffectsob().
- [+] compile with optimisation.................
- [+] hapepning in createmap. but objects on the PLAYER's map
are being corrupted, not the new one.
- [+] happening in addrandomthing()
- [+] happening in addmonster().
- [+] lf = addmonster(c, R_RANDOM, NULL,
B_TRUE, 1, B_TRUE, nadded);
- [+] (glowbug was created)
- [+] happening in addlf()
- [+] glowbug again!! to do with light recalc ??
- [+] happening in setrace()
- [+] happening while inheriting F_AWARENESS. have double
checked to confirm this!
- [+] in HASLOS????!!
- [+] addflag->flagcausesloscalc, so haslos for all on the map.
problem happens when we call haslos() for the lf getting
F_AWARENESS added.
- [+] is the problem that doing a los recalc breaks when we are
still missing half our racial flags ?
- [+] QUICK FIX:
- [+] dont recalc los for any lf where born = 0. just set
nlos to 0
- [+] and manually recalc los just before returning from
addlf
- [+] put sawgrsaas back to being common, not frequent
- [+] is this finally fixed now? i think so!!
- [+] if so, remove calls to "checkallflags" and most calls to
checkflags()
- [+] remove agility bonuses for weapon acc. now comes just from
skill and from agi scaling on weapons.
- [+] maybe difference in hit dice is a bad way to determine
shieldblock difficulty.
- [+] ...because the player rapidly gets higher than all other
monsters on their dungeonlev.
- [+] maybe just use monster's hitdice, ignore players.
- [+] bug: abilities costing no stamina?
- [+] in addmap, i am not initialising enough nextmap[]s
- [+] flag.c bug: don't need to set player->losdirty when recalcing
light on a different map
- [+] lfs with F_DOESNTMOVE weren't attacking
- [+] manuals are starting off known. why??
- [+] they don't appear in knowledge, so don't appear to have a
hiddenname at all.
- [+] make magical barriers block view.
- [+] when describing armour / shield penalty, say
- [+] "will lower your accuracy by 1"
- [+] instead of
- [+] "will lower your accuracy by 5%"
- [+] make firstaid skill incrase your hp per level
- [+] high agility seems to be giving a MASSIVE accuracy increase when
higher than weapon's stat.
- [+] maybe remove or reduce AGI acc bonuses.
- [+] sack started off containing a FOOD VENDOR!@#
- [+] size check obviously isn't working.
- [+] need "obfits" in givestartobs!!
- [+] hitting ESC when firing with F doesn't cancel.f
- [+] hunter should start with fur cloak
- [+] spellbooks are too cheap ($12)
- [+] remove'p' for lockpick- just operate the lockpickobject.
- [+] removed,
- [+] ...but now tha tI've removed 'p' for picklocks, can i still
use 'o' on a dagger or similar?
- [+] NO
- [+] maybe turn "pick lock" into a still
- [+] how do you gain this? level 1 lockpicking
- [+] then make lockpicks etc non-operable
- [+] fix crash when drunk lfs take damage
- [+] sleeping powder costs nothing
- [+] memleaks??? 700mb usage!!
- [+] valgrind
- [+] found a memleak problem: definitely lost: 10,719,039
bytes in 11,420 blocks
- [+] not killing flags when we kill an object!!!!! fixed now.
- [+] memory usage is now ticking up heaps more slowly.
- [+] investigate further with valgrind again.....
- [+] when summoning, prefer cells for which the player has los.
- [+] make jammed doors harder to open.
- [+] no forcing a door open on your first go. should be:
- [+] the door is jammed!
- [+] you force it open.
- [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
|
|
|
char dirbuf[BUFLEN];
|
2011-05-27 10:41:34 +10:00
|
|
|
// update text field
|
- [+] CRASH in killflag()
- [+] symptoms
- [+] often happens right after creating a new map (ie. trigger
it through a gate spell)
- [+] bug in createriver(). fixed.
- [+] somehow casting GATE is causing object flagpiles on
the PLAYER's map to become corrupted.
- [+] "the young hawk wakes up" CRASH, flagpile corrupt on
stone.
- [+] object itself seems okay.
- [+] o->flags is becoming corrupt!!!
- [+] so all its flags are becoming corrupt (id = massive
number, next = fffff)
- [+] traceback:
- [+] #0 0x0000000100081188 in killflag (f=0x103321090) at
flag.c:815
#1 0x0000000100081b3a in timeeffectsflag
(f=0x103321090, howlong=1) at flag.c:1075
#2 0x00000001000825f8 in timeeffectsflags
(fp=0x1038e0600) at flag.c:1302
#3 0x0000000100129b01 in timeeffectsob
(o=0x1036e2460) at objects.c:11877
#4 0x0000000100005114 in timeeffectsworld
(map=0x102aa1a00, updategametime=-1) at nexus.c:1685
#5 0x0000000100003a28 in donextturn
(map=0x102aa1a00) at nexus.c:952
#6 0x00000001000029b1 in main (argc=1,
argv=0x7fff5fbff848) at nexus.c:525
- [+] try this: in timeeffectsflags on objects, check PREVIOUS
object's flagpile.
- [+] try this: add checkflagS() after updatefpindex
- [+] NOT happening during timeeffectsob().
- [+] compile with optimisation.................
- [+] hapepning in createmap. but objects on the PLAYER's map
are being corrupted, not the new one.
- [+] happening in addrandomthing()
- [+] happening in addmonster().
- [+] lf = addmonster(c, R_RANDOM, NULL,
B_TRUE, 1, B_TRUE, nadded);
- [+] (glowbug was created)
- [+] happening in addlf()
- [+] glowbug again!! to do with light recalc ??
- [+] happening in setrace()
- [+] happening while inheriting F_AWARENESS. have double
checked to confirm this!
- [+] in HASLOS????!!
- [+] addflag->flagcausesloscalc, so haslos for all on the map.
problem happens when we call haslos() for the lf getting
F_AWARENESS added.
- [+] is the problem that doing a los recalc breaks when we are
still missing half our racial flags ?
- [+] QUICK FIX:
- [+] dont recalc los for any lf where born = 0. just set
nlos to 0
- [+] and manually recalc los just before returning from
addlf
- [+] put sawgrsaas back to being common, not frequent
- [+] is this finally fixed now? i think so!!
- [+] if so, remove calls to "checkallflags" and most calls to
checkflags()
- [+] remove agility bonuses for weapon acc. now comes just from
skill and from agi scaling on weapons.
- [+] maybe difference in hit dice is a bad way to determine
shieldblock difficulty.
- [+] ...because the player rapidly gets higher than all other
monsters on their dungeonlev.
- [+] maybe just use monster's hitdice, ignore players.
- [+] bug: abilities costing no stamina?
- [+] in addmap, i am not initialising enough nextmap[]s
- [+] flag.c bug: don't need to set player->losdirty when recalcing
light on a different map
- [+] lfs with F_DOESNTMOVE weren't attacking
- [+] manuals are starting off known. why??
- [+] they don't appear in knowledge, so don't appear to have a
hiddenname at all.
- [+] make magical barriers block view.
- [+] when describing armour / shield penalty, say
- [+] "will lower your accuracy by 1"
- [+] instead of
- [+] "will lower your accuracy by 5%"
- [+] make firstaid skill incrase your hp per level
- [+] high agility seems to be giving a MASSIVE accuracy increase when
higher than weapon's stat.
- [+] maybe remove or reduce AGI acc bonuses.
- [+] sack started off containing a FOOD VENDOR!@#
- [+] size check obviously isn't working.
- [+] need "obfits" in givestartobs!!
- [+] hitting ESC when firing with F doesn't cancel.f
- [+] hunter should start with fur cloak
- [+] spellbooks are too cheap ($12)
- [+] remove'p' for lockpick- just operate the lockpickobject.
- [+] removed,
- [+] ...but now tha tI've removed 'p' for picklocks, can i still
use 'o' on a dagger or similar?
- [+] NO
- [+] maybe turn "pick lock" into a still
- [+] how do you gain this? level 1 lockpicking
- [+] then make lockpicks etc non-operable
- [+] fix crash when drunk lfs take damage
- [+] sleeping powder costs nothing
- [+] memleaks??? 700mb usage!!
- [+] valgrind
- [+] found a memleak problem: definitely lost: 10,719,039
bytes in 11,420 blocks
- [+] not killing flags when we kill an object!!!!! fixed now.
- [+] memory usage is now ticking up heaps more slowly.
- [+] investigate further with valgrind again.....
- [+] when summoning, prefer cells for which the player has los.
- [+] make jammed doors harder to open.
- [+] no forcing a door open on your first go. should be:
- [+] the door is jammed!
- [+] you force it open.
- [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
|
|
|
sprintf(dirbuf, "%d", dir);
|
|
|
|
changeflagtext(tf, dirbuf);
|
2011-05-27 10:41:34 +10:00
|
|
|
}
|
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
|
|
|
}
|
* [+] 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
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-11-03 09:34:15 +11:00
|
|
|
if (errcode == E_STOPCLIMBING) {
|
|
|
|
stopclimbing(lf, B_TRUE);
|
|
|
|
} else {
|
|
|
|
// now move to new cell
|
|
|
|
moveto(lf, cell, rndmove ? B_FALSE : onpurpose, dontclearmsg);
|
|
|
|
|
|
|
|
// take some time
|
|
|
|
if (onpurpose) {
|
|
|
|
// strafing sideways/backwards takes longer
|
|
|
|
if (strafe && !lfhasflag(lf, F_AWARENESS)) {
|
2012-06-25 22:49:53 +10:00
|
|
|
object_t *o;
|
2011-11-03 09:34:15 +11:00
|
|
|
switch (reldir) {
|
- [+] 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
|
|
|
//case RD_SIDEWAYS: howlong = pctof(125, howlong); break;
|
|
|
|
case RD_SIDEWAYS: break;
|
|
|
|
case RD_BACKWARDS:
|
|
|
|
switch (getskill(lf, SK_ATHLETICS)) {
|
|
|
|
case PR_INEPT: howlong = pctof(150, howlong); break;
|
|
|
|
case PR_NOVICE:
|
|
|
|
case PR_BEGINNER:
|
|
|
|
howlong = pctof(125, howlong); break;
|
|
|
|
default: break;
|
|
|
|
}
|
|
|
|
break;
|
2011-11-03 09:34:15 +11:00
|
|
|
case RD_FORWARDS:
|
2012-06-25 22:49:53 +10:00
|
|
|
if (hasactivespell(lf, OT_S_TAILWIND) ||
|
|
|
|
hasequippedobid(lf->pack, OT_ROLLERSKATES)) {
|
|
|
|
// 50% faster if moving forwards
|
2012-02-27 19:27:55 +11:00
|
|
|
howlong = pctof(50, howlong);
|
2011-11-03 09:34:15 +11:00
|
|
|
}
|
2012-06-25 22:49:53 +10:00
|
|
|
o = hasequippedobid(lf->pack, OT_JETSKATES);
|
|
|
|
if (o && isactivated(o) && (getcharges(o) > 0)) {
|
|
|
|
// super fast if moving forwards
|
|
|
|
howlong = pctof(10, howlong);
|
|
|
|
}
|
2011-11-03 09:34:15 +11:00
|
|
|
break;
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
2011-09-12 09:52:14 +10:00
|
|
|
}
|
2011-11-03 09:34:15 +11:00
|
|
|
limit(&howlong, SP_GODLIKE, NA);
|
|
|
|
taketime(lf, howlong);
|
|
|
|
if (!rndmove && !strafe) setfacing(lf, dir); // face the way we moved
|
2011-09-12 09:52:14 +10:00
|
|
|
}
|
* [+] 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
|
|
|
}
|
|
|
|
|
2011-05-27 10:41:34 +10:00
|
|
|
// attached lfs or lfs you have grabbed will move the same direction if they can
|
* [+] 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
|
|
|
for (alf = cell->map->lf ; alf ; alf = alf->next) {
|
2011-05-27 10:41:34 +10:00
|
|
|
int willdrag = B_FALSE;
|
|
|
|
int attached = B_FALSE;
|
|
|
|
int grabbed = B_FALSE;
|
* [+] 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
|
|
|
if (lfhasflagval(alf, F_ATTACHEDTO, lf->id, NA, NA, NULL)) {
|
2011-05-27 10:41:34 +10:00
|
|
|
willdrag = B_TRUE;
|
|
|
|
attached = B_TRUE;
|
|
|
|
grabbed = B_FALSE;
|
|
|
|
} else if (lfhasflagval(lf, F_GRABBING, alf->id, NA, NA, NULL)) {
|
|
|
|
willdrag = B_TRUE;
|
|
|
|
attached = B_FALSE;
|
|
|
|
grabbed = B_TRUE;
|
|
|
|
}
|
|
|
|
if (willdrag) {
|
* [+] 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
|
|
|
// if the lifeform we were attached to just moved away from us,
|
|
|
|
// try to stay with them.
|
|
|
|
if (getcelldist(alf->cell,lf->cell) > 1) {
|
|
|
|
int newdir;
|
|
|
|
newdir = getdirtowards(alf->cell, lf->cell, alf, B_FALSE, DT_ORTH);
|
|
|
|
// do a manual canmove check here first, to avoid 'the stirge flies into a wall'
|
|
|
|
// if the move fails.
|
2011-05-27 10:41:34 +10:00
|
|
|
//
|
|
|
|
// but DONT do the check if you're dragging someone you grabbed. otherwise
|
|
|
|
// moveclear() will say "can't move because someone is holding you"
|
|
|
|
if (newdir != D_NONE) {
|
|
|
|
cell_t *nc;
|
|
|
|
nc = getcellindir(alf->cell, newdir);
|
|
|
|
if (nc && cellwalkable(alf, nc, NULL)) {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
char alfname[BUFLEN];
|
|
|
|
getlfname(alf, alfname);
|
|
|
|
msg("You drag %s along.", alfname);
|
|
|
|
} else if (isplayer(alf)) {
|
|
|
|
char lfname[BUFLEN];
|
|
|
|
getlfname(lf, lfname);
|
|
|
|
msg("%s drags you along.", lfname);
|
|
|
|
} else if (cansee(player, lf) || cansee(player, alf)) {
|
|
|
|
char lfname[BUFLEN],alfname[BUFLEN];
|
|
|
|
getlfname(lf, lfname);
|
|
|
|
getlfname(alf, alfname);
|
|
|
|
msg("%s drags %s along.", lfname, alfname);
|
|
|
|
}
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
movelf(alf, nc, B_FALSE);
|
2011-05-27 10:41:34 +10:00
|
|
|
}
|
* [+] 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
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-06-22 16:01:48 +10:00
|
|
|
|
|
|
|
// train
|
|
|
|
if (isswimming(lf)) {
|
|
|
|
practice(lf, SK_SWIMMING, 1);
|
2011-11-03 09:34:15 +11:00
|
|
|
} else if (isclimbing(lf)) {
|
|
|
|
practice(lf, SK_CLIMBING, 1);
|
2011-06-22 16:01:48 +10:00
|
|
|
}
|
2012-01-31 13:25:12 +11:00
|
|
|
|
|
|
|
// autopickup objects?
|
|
|
|
if (isplayer(lf) && getoption(OPT_RETRIEVE_MISSILES) && !lfhasflag(lf, F_LEVITATING)) {
|
|
|
|
object_t *o,*nexto;
|
|
|
|
for (o = lf->cell->obpile->first ; o ; o = nexto) {
|
|
|
|
nexto = o->next;
|
|
|
|
if (hasflag(o->flags, F_PLAYERMISSILE) && canpickup(lf, o, o->amt)) {
|
|
|
|
killflagsofid(o->flags, F_PLAYERMISSILE);
|
|
|
|
pickup(lf, o, o->amt, B_TRUE, B_TRUE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-06-23 15:57:55 +10:00
|
|
|
} else { // ie !moveok
|
2011-04-06 17:27:55 +10:00
|
|
|
object_t *inway = NULL;
|
2011-02-01 06:16:13 +11:00
|
|
|
int door, dooropen;
|
|
|
|
reason = errcode;
|
2010-12-02 12:17:54 +11:00
|
|
|
switch (errcode) {
|
2011-11-03 09:34:15 +11:00
|
|
|
case E_BADCLIMBDIR:
|
|
|
|
if (isplayer(lf)) msg("You can't climb in that direction.");
|
|
|
|
break;
|
2011-04-11 15:05:45 +10:00
|
|
|
case E_OFFMAP:
|
2012-05-09 07:57:49 +10:00
|
|
|
if (lf->cell->map->region->rtype->id == BH_WORLDMAP) {
|
2011-06-23 15:57:55 +10:00
|
|
|
// cope with nonorthogonal!
|
|
|
|
// ie. ne counts as n if we are at the top.
|
|
|
|
if (!isorthogonal(dir)) {
|
|
|
|
dir = getwalkoffdir(lf, dir);
|
|
|
|
}
|
|
|
|
if (dir != D_NONE) {
|
|
|
|
// we are allowed to walk off the edge
|
|
|
|
return walkoffmap(lf, dir, B_TRUE);
|
|
|
|
}
|
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
|
|
|
}
|
|
|
|
// otherwise fall through...
|
2010-12-02 12:17:54 +11:00
|
|
|
case E_WALLINWAY:
|
2011-02-01 06:16:13 +11:00
|
|
|
if (isplayer(lf)) {
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
msg("Ouch! You %s into a %s.", getmoveverb(lf),
|
|
|
|
cell ? cell->type->name : "wall");
|
2011-03-16 15:45:46 +11:00
|
|
|
} else if (cansee(player, lf)) {
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
char buf2[BUFLEN];
|
|
|
|
getmoveverbother(lf, buf2);
|
2011-02-01 06:16:13 +11:00
|
|
|
getlfname(lf, buf);
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
msg("%s %s into a %s.", buf, buf2, cell ? cell->type->name : "wall");
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
2012-07-30 12:35:02 +10:00
|
|
|
if (cell && isplayer(lf) && haslos(lf, cell)) {
|
|
|
|
object_t *door;
|
|
|
|
door = hassecretdoor(cell->obpile);
|
|
|
|
if (door) {
|
|
|
|
msg("^gThere seems to be a secret door here!");
|
|
|
|
killflagsofid(door->flags, F_SECRET);
|
2012-12-04 16:15:27 +11:00
|
|
|
needredraw = B_TRUE;
|
2012-07-30 12:35:02 +10:00
|
|
|
}
|
|
|
|
}
|
2011-03-18 12:25:18 +11:00
|
|
|
//if (isblind(lf) || !haslos(lf, cell)) {
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
if (!cell || !haslos(lf, cell)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
// only take damage if we didn't know about this
|
- [+] 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
|
|
|
if ((cell && !cell->known) || iswoozy(lf)) {
|
2011-09-01 03:33:35 +10:00
|
|
|
snprintf(buf, BUFLEN, "%sing into a %s", getmoveverb(lf),
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
cell ? cell->type->name : "wall");
|
2011-02-01 06:16:13 +11:00
|
|
|
losehp(lf, 1, DT_BASH, NULL, buf);
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
if (cell) {
|
|
|
|
// we now know there is a wall there.
|
|
|
|
setcellknown(cell, B_FALSE);
|
|
|
|
}
|
2011-05-20 06:30:58 +10:00
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
} else {
|
2011-09-01 03:33:35 +10:00
|
|
|
snprintf(buf, BUFLEN, "%sing into a %s", getmoveverb(lf),
|
VAULTS
* [+] vaiultlegend_t
* [+] vaultdef_t
- [+] implement addlegend()
- [+] implement addvault()
- [+] function to read in a vault from a data file
- [+] vs_noid
- [+] vs_loadingmap
- [+] vs_loadinglegend
- [+] vs_loadingflags
- [+] vs_loading
- [+] load all vaultdefs in at start
- [+] change createroom to calculate the posistion
- [+] for each room, give a %chance of haivng a vault. (based on
habitat?)
* [+] createvault(map_t, roomid?, char *vaultid)
- [+] mapdata with letters
* [+] MSG up vault errors on load.
- [+] Select job _before_ generating first map.
* [+] make addob() handle door flags:
* [+] addob() improvements
* [+] wish bug: first object goes in pack, rest on ground.
- [+] genericise getroomedge()
- [+] finish 'autodoors' (at the end, add doors if none already done)
- [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x,
v1=y, v2=pct text=what
* [+] "what" can be:
* [+] scatter:y1:x2:y2:what:chance%:howmany
* [+] some way to make the @map bit just say 'random room at least 2x4'
- [+] make "scatter" able to take range instead of count.
- [+] make "scatter"able to take x% instead of count.
- [+] upsidedown chars no longer working with winch()
- [+] ensure no DUPE ids
- [+] make legend take percentages (optional)
- [+] make "at" take negative values...
OPTIONS
- [+] autodoors - put doors on edges like with normal dungeon rooms.
* [+] autopop - fill with obs/monsters like normal rooms
VAULT FILES
- [+] flooded room
- [+] labyrinth
- [+] vault (lots of money, locked secret doors)
- [+] monster zoos (money and monsters)
- [+] diningroom - lots of tables and chairs
- [+] circleroom
- [+] pillared room
- [+] glass pillared room
- [+] cockatrice lair (statues)
- [+] traproom - need "random trap". need OC_TRAP.
- [+] BUG: piranhas walking out of water sometimes.......
- [+] add startatt x-y rather than just a bracket. use text field.
- [+] make teleport auto move away form lfs
- [+] add minotaur
2011-06-02 18:34:44 +10:00
|
|
|
cell ? cell->type->name : "wall");
|
2011-02-01 06:16:13 +11:00
|
|
|
losehp(lf, 1, DT_BASH, NULL, buf);
|
|
|
|
}
|
|
|
|
}
|
2012-08-01 07:19:04 +10:00
|
|
|
if (onpurpose || fleeing) taketime(lf, getmovespeed(lf));
|
2011-02-01 06:16:13 +11:00
|
|
|
break;
|
2011-04-01 10:54:44 +11:00
|
|
|
case E_DOORINWAY:
|
2011-11-03 09:34:15 +11:00
|
|
|
// can't open doors while climbing
|
2011-02-01 06:16:13 +11:00
|
|
|
inway = (object_t *)rdata;
|
|
|
|
door = isdoor(inway, &dooropen);
|
|
|
|
if (door && !dooropen) {
|
|
|
|
if (isblind(lf)) {
|
|
|
|
// run into it
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
if (cell->known) {
|
|
|
|
// try to open it
|
2012-11-07 07:32:56 +11:00
|
|
|
if (opendoor(lf, inway)) {
|
|
|
|
// failed.
|
|
|
|
if (isplayer(lf)) stoppathfinding(lf);
|
|
|
|
} else {
|
- [+] 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
|
|
|
// opening a door counts as a successful move.
|
|
|
|
reason = E_OK;
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
} else {
|
|
|
|
msg("Ouch! You %s into a door.", getmoveverb(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
|
|
|
setcellknown(cell, B_FALSE);
|
2011-09-01 03:33:35 +10:00
|
|
|
snprintf(buf, BUFLEN, "%sing into a door", getmoveverb(lf));
|
2011-02-01 06:16:13 +11:00
|
|
|
losehp(lf, 1, DT_BASH, NULL, buf);
|
2012-08-01 07:19:04 +10:00
|
|
|
if (onpurpose || fleeing) taketime(lf, getmovespeed(lf));
|
2012-11-07 07:32:56 +11:00
|
|
|
if (isplayer(lf)) stoppathfinding(lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
} else {
|
2011-03-16 15:45:46 +11:00
|
|
|
if (cansee(player, lf)) {
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
char buf2[BUFLEN];
|
|
|
|
getmoveverbother(lf, buf2);
|
2011-02-01 06:16:13 +11:00
|
|
|
getlfname(lf, buf);
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
msg("%s %s into a door.", buf, buf2);
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
2011-09-01 03:33:35 +10:00
|
|
|
snprintf(buf, BUFLEN, "%sing into a door", getmoveverb(lf));
|
2011-02-01 06:16:13 +11:00
|
|
|
losehp(lf, 1, DT_BASH, NULL, buf);
|
2012-08-01 07:19:04 +10:00
|
|
|
if (onpurpose || fleeing) taketime(lf, getmovespeed(lf));
|
2012-11-07 07:32:56 +11:00
|
|
|
if (isplayer(lf)) stoppathfinding(lf);
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
|
|
|
} else {
|
2012-11-08 07:21:35 +11:00
|
|
|
if (lfhasflag(lf, F_RAGE) || (!canopendoors(lf) && willattackdoors(lf))) {
|
2011-11-18 14:25:09 +11:00
|
|
|
// attack it
|
|
|
|
return attackcell(lf, cell, B_FALSE);
|
|
|
|
} else {
|
|
|
|
// try to open it
|
2012-11-07 07:32:56 +11:00
|
|
|
if (opendoor(lf, inway)) {
|
|
|
|
// fail
|
|
|
|
if (isplayer(lf)) stoppathfinding(lf);
|
|
|
|
} else {
|
2011-11-18 14:25:09 +11:00
|
|
|
// opening a door counts as a successful move.
|
|
|
|
reason = E_OK;
|
|
|
|
}
|
2011-02-16 05:21:33 +11:00
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
2011-04-01 10:54:44 +11:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
case E_OBINWAY:
|
|
|
|
inway = (object_t *)rdata;
|
2012-12-04 16:15:27 +11:00
|
|
|
// walked into someone who was feigning death?
|
|
|
|
if (inway && hasflag(inway->flags, F_ISMONSTER)) {
|
|
|
|
lifeform_t *newlf;
|
|
|
|
if (haslos(lf, cell)) {
|
|
|
|
char inwayname[BUFLEN];
|
|
|
|
getobname(inway, inwayname, 1);
|
|
|
|
msg("^B%s starts to move!", inwayname);
|
|
|
|
more();
|
|
|
|
}
|
|
|
|
// reaveal
|
|
|
|
newlf = reveal_pretendob(inway);
|
|
|
|
if (newlf) {
|
|
|
|
turntoface(newlf, lf->cell);
|
|
|
|
aiattack(newlf, lf, aigetchasetime(newlf));
|
|
|
|
}
|
|
|
|
if (onpurpose || fleeing) taketime(lf, getmovespeed(lf));
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
2011-04-01 10:54:44 +11:00
|
|
|
// can we push this?
|
|
|
|
if (ispushable(inway)) {
|
|
|
|
if (canpush(lf, inway, dir)) {
|
|
|
|
// push it!
|
|
|
|
push(lf, inway, dir);
|
|
|
|
} else {
|
2011-04-08 13:18:54 +10:00
|
|
|
if (isplayer(lf)) {
|
2011-02-01 06:16:13 +11:00
|
|
|
char obname[BUFLEN];
|
|
|
|
getobname(inway, obname, 1);
|
2011-04-01 10:54:44 +11:00
|
|
|
switch (reason) {
|
|
|
|
case E_TOOHEAVY:
|
2012-01-08 09:47:06 +11:00
|
|
|
msg("The %s is too heavy for you to move.",strchr(obname, ' ')+1);
|
2011-04-01 10:54:44 +11:00
|
|
|
break;
|
|
|
|
case E_INSUBSTANTIAL:
|
|
|
|
msg("You cannot push %s without a physical body!",strchr(obname, ' ')+1);
|
|
|
|
break;
|
|
|
|
default:
|
|
|
|
msg("The %s won't move for some reason.",strchr(obname, ' ')+1);
|
|
|
|
break;
|
|
|
|
}
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
2011-04-06 17:27:55 +10:00
|
|
|
} else { // somethign random is in the way
|
2012-03-27 07:21:43 +11:00
|
|
|
if (inway) {
|
|
|
|
// walking into your own magic barrier?
|
|
|
|
if ((inway->type->id == OT_MAGICBARRIER) &&
|
|
|
|
hasflagval(inway->flags, F_CREATEDBY, lf->id, NA, NA, NULL)) {
|
|
|
|
enum OBTYPE barriertype;
|
|
|
|
int x,y;
|
|
|
|
cell_t *cc;
|
|
|
|
barriertype = inway->type->id;
|
|
|
|
// vanish this and any other magical barriers we made.
|
|
|
|
for (y = 0; y < cell->map->h; y++) {
|
|
|
|
for (x = 0; x < cell->map->w; x++) {
|
|
|
|
cc = getcellat(cell->map, x,y);
|
|
|
|
if (cc) {
|
|
|
|
object_t *oo,*nextoo;
|
|
|
|
int ndone = 0;
|
|
|
|
for (oo = cc->obpile->first ; oo ; oo = nextoo) {
|
|
|
|
nextoo = oo->next;
|
|
|
|
if ((oo->type->id == barriertype) &&
|
|
|
|
hasflagval(oo->flags, F_CREATEDBY, lf->id, NA, NA, NULL)) {
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
takedamage(oo, 999, DT_DIRECT, NULL);
|
2012-03-27 07:21:43 +11:00
|
|
|
ndone++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (ndone) {
|
|
|
|
removedeadobs(cc->obpile);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// NOW is the move possible?
|
|
|
|
if (moveclear(lf, dir, &errcode)) {
|
|
|
|
moveto(lf, cell, B_TRUE, B_TRUE);
|
|
|
|
}
|
2012-07-18 09:03:17 +10:00
|
|
|
} else if (hasflag(inway->flags, F_CLIMBOBSTACLE)
|
2012-07-15 23:27:45 +10:00
|
|
|
&& haslos(lf, cell)) {
|
|
|
|
int doclimb = B_TRUE;
|
2012-03-27 07:21:43 +11:00
|
|
|
if (isplayer(lf)) {
|
2012-07-15 23:27:45 +10:00
|
|
|
char ch;
|
2012-03-27 07:21:43 +11:00
|
|
|
char obname[BUFLEN];
|
2012-07-15 23:27:45 +10:00
|
|
|
getobname(inway, obname, 1);
|
|
|
|
snprintf(buf, BUFLEN,"Attempt to climb onto %s?", obname);
|
|
|
|
ch = askchar(buf,"yn","n", B_TRUE, B_FALSE);
|
|
|
|
if (ch != 'y') {
|
|
|
|
msg("Cancelled.");
|
|
|
|
doclimb = B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (doclimb) {
|
|
|
|
turntoface(lf, cell);
|
|
|
|
startclimbing(lf);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
char obname[BUFLEN],text[BUFLEN];
|
2012-03-27 07:21:43 +11:00
|
|
|
if (haslos(lf, cell)) {
|
|
|
|
getobname(inway, obname, 1);
|
|
|
|
} else {
|
|
|
|
strcpy(obname, "something");
|
|
|
|
}
|
2012-07-18 09:03:17 +10:00
|
|
|
sprintf(text, "There is %s in your way.",obname);
|
2012-03-27 07:21:43 +11:00
|
|
|
msg("There is %s in your way.",obname);
|
|
|
|
}
|
2011-05-16 12:03:25 +10:00
|
|
|
}
|
2011-04-01 10:54:44 +11:00
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
|
|
|
break;
|
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
|
|
|
case E_SWIMMING:
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You can't attack while swimming!");
|
|
|
|
}
|
|
|
|
break;
|
2010-12-02 12:17:54 +11:00
|
|
|
case E_LFINWAY:
|
2011-12-09 11:37:02 +11:00
|
|
|
if (initiatemove(lf, cell, onpurpose, &dontclearmsg)) {
|
2011-10-06 09:08:13 +11:00
|
|
|
// failed?
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-10-07 13:38:58 +11:00
|
|
|
// walking backwards/sideways into someone
|
|
|
|
if (!lfhasflag(lf, F_AWARENESS) && (getrelativedir(lf, dir) != RD_FORWARDS)) {
|
|
|
|
char lfname[BUFLEN];
|
|
|
|
char inwayname[BUFLEN];
|
|
|
|
getlfname(cell->lf, inwayname);
|
2011-03-25 12:23:15 +11:00
|
|
|
if (isplayer(lf)) {
|
2011-10-07 13:38:58 +11:00
|
|
|
msg("You bump into %s.", inwayname);
|
|
|
|
} else if (isplayer(cell->lf)) {
|
|
|
|
getlfname(lf, lfname);
|
|
|
|
msg("%s bumps into you.", lfname);
|
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
getlfname(lf, lfname);
|
|
|
|
msg("%s bumps into %s.", lfname, inwayname);
|
2011-03-24 16:09:31 +11:00
|
|
|
}
|
2012-08-01 07:19:04 +10:00
|
|
|
if (onpurpose || fleeing) taketime(lf, getmovespeed(lf));
|
2011-10-07 13:38:58 +11:00
|
|
|
} else {
|
|
|
|
if (canswapwith(lf, cell->lf)) {
|
|
|
|
lifeform_t *lfinway;
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
char lfname[BUFLEN];
|
|
|
|
strcpy(lfname, "__not used yet__");
|
2011-10-07 13:38:58 +11:00
|
|
|
// otherwise swap locations.
|
|
|
|
lfinway = cell->lf;
|
|
|
|
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
// need to get the name of whoever you swapped with
|
|
|
|
// BEFORE moving, as afterwards we may no longer be
|
|
|
|
// able to see it.
|
2011-10-07 13:38:58 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
getlfname(lfinway, lfname);
|
|
|
|
}
|
2011-09-28 04:56:58 +10:00
|
|
|
|
2012-06-03 08:43:18 +10:00
|
|
|
swapplaces(lf, lfinway, B_NOCHANGEDIR, B_NOCHANGEDIR, onpurpose);
|
2011-09-28 04:56:58 +10:00
|
|
|
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
// need to print this AFTER moving, because otherwise the
|
|
|
|
// act of moving will clear the message line and we'll never
|
|
|
|
// see it.
|
|
|
|
if (isplayer(lf)) {
|
2012-12-12 12:00:17 +11:00
|
|
|
if (isunconscious(lfinway)) {
|
|
|
|
msg("You swap places with the unconscious %s.", noprefix(lfname));
|
|
|
|
} else if (isasleep(lfinway)) {
|
|
|
|
msg("You swap places with the sleeping %s.", noprefix(lfname));
|
|
|
|
} else {
|
|
|
|
msg("You swap places with %s.", lfname);
|
|
|
|
}
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
dontclearmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
dontclearmsg = B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-11-09 12:18:07 +11:00
|
|
|
//if (onpurpose) taketime(lf, getmovespeed(lf));
|
|
|
|
taketime(lf, getmovespeed(lf));
|
2011-08-06 07:34:35 +10:00
|
|
|
} else {
|
2011-10-07 13:38:58 +11:00
|
|
|
if (!onpurpose || canandwillmove(lf, dir, &errcode)) {
|
2016-05-31 00:21:12 +10:00
|
|
|
int forceattack = B_FALSE;
|
|
|
|
if (lfhasflag(lf, F_RAGE)) {
|
|
|
|
forceattack = B_TRUE;
|
|
|
|
}
|
|
|
|
return attackcell(lf, cell, forceattack);
|
2011-10-07 13:38:58 +11:00
|
|
|
} else {
|
|
|
|
// won't attack for some reason.
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
2011-08-06 07:34:35 +10:00
|
|
|
}
|
2011-03-24 16:09:31 +11:00
|
|
|
}
|
|
|
|
break;
|
2011-03-04 12:22:36 +11:00
|
|
|
case E_CANTMOVE:
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You cannot move!");
|
|
|
|
}
|
2012-08-01 07:19:04 +10:00
|
|
|
if (onpurpose || fleeing) taketime(lf, getmovespeed(lf));
|
2011-03-04 12:22:36 +11:00
|
|
|
break;
|
|
|
|
case E_GRABBEDBY:
|
2011-03-10 16:47:18 +11:00
|
|
|
if (rdata) {
|
|
|
|
lifeform_t *grabbedby;
|
|
|
|
char gbname[BUFLEN];
|
|
|
|
// skill check to escape.
|
|
|
|
grabbedby = (lifeform_t *)rdata;
|
|
|
|
getlfname(grabbedby, gbname);
|
|
|
|
if (!cell->lf && skillcheckvs(lf, SC_STR, 0, grabbedby, SC_STR, 0)) {
|
|
|
|
// broke free
|
|
|
|
killflagsofid(lf->flags, F_GRABBEDBY);
|
|
|
|
killflagsofid(grabbedby->flags, F_GRABBING);
|
|
|
|
// move - don't clear the 'you break free from' msg
|
2011-07-21 11:43:45 +10:00
|
|
|
// NOW is the move possible?
|
|
|
|
if (moveclear(lf, dir, &errcode)) {
|
|
|
|
moveto(lf, cell, B_TRUE, B_TRUE);
|
|
|
|
}
|
2011-03-04 12:22:36 +11:00
|
|
|
} else {
|
2011-03-10 16:47:18 +11:00
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You cannot get away from %s!",gbname);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You cannot get away from whatever is holding you!");
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
|
|
|
}
|
2012-08-01 07:19:04 +10:00
|
|
|
if (onpurpose || fleeing) taketime(lf, getmovespeed(lf));
|
2011-02-01 06:16:13 +11:00
|
|
|
break;
|
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
|
|
|
case E_PENTAGRAM:
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("You cannot seem to enter the pentagram.");
|
|
|
|
}
|
2012-08-01 07:19:04 +10:00
|
|
|
if (onpurpose || fleeing) taketime(lf, getmovespeed(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
|
|
|
break;
|
2011-02-16 05:21:33 +11:00
|
|
|
case E_TOOHEAVY:
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("Your load is too heavy to move with!");
|
|
|
|
}
|
2012-08-01 07:19:04 +10:00
|
|
|
if (onpurpose || fleeing) taketime(lf, getmovespeed(lf));
|
2011-02-16 05:21:33 +11:00
|
|
|
break;
|
2011-02-01 06:16:13 +11:00
|
|
|
default:
|
2010-12-02 12:17:54 +11:00
|
|
|
break;
|
|
|
|
}
|
- [+] 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
|
|
|
}
|
|
|
|
|
2012-01-25 20:20:15 +11:00
|
|
|
// purposely moving away from money?
|
- [+] 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
|
|
|
if (onpurpose && isplayer(lf) && srcmoney) {
|
2011-10-21 04:15:24 +11:00
|
|
|
angergodmaybe(R_GODTHIEVES, srcmoney, GA_MONEY);
|
- [+] 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
|
|
|
}
|
|
|
|
|
2012-01-25 20:20:15 +11:00
|
|
|
// check for fleeing...
|
|
|
|
if (isplayer(lf) && !isdead(lf)) {
|
2012-05-22 16:10:49 +10:00
|
|
|
if (prebattlearmed && !isinbattle(lf, B_NODISTANT, B_ONLYIFARMED) && onpurpose) {
|
2012-01-25 20:20:15 +11:00
|
|
|
angergodmaybe(R_GODBATTLE, 10, GA_COWARD);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
- [+] 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
|
|
|
if (reason != E_OK) {
|
|
|
|
return B_TRUE;
|
2010-12-02 12:17:54 +11:00
|
|
|
}
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-05-20 06:30:58 +10:00
|
|
|
int walkoffmap(lifeform_t *lf, int dir, int onpurpose) {
|
|
|
|
map_t *adjmap = NULL, *thismap;
|
|
|
|
cell_t *dst = NULL;
|
2011-09-15 11:40:26 +10:00
|
|
|
lifeform_t *adjally[MAXFOLLOWLFS];
|
|
|
|
int seen[MAXFOLLOWLFS];
|
2011-05-20 06:30:58 +10:00
|
|
|
int nadjallies = 0;
|
|
|
|
int n;
|
|
|
|
|
2011-06-29 18:48:48 +10:00
|
|
|
// make sure dircetion is orthogonal
|
|
|
|
dir = makeorthogonal(dir);
|
|
|
|
assert(dir != D_NONE);
|
|
|
|
|
2011-05-20 06:30:58 +10:00
|
|
|
// announce
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
char dirname[BUFLEN];
|
|
|
|
curs_set(1);
|
|
|
|
strcpy(dirname, getdirname(dir));
|
|
|
|
dirname[0] = tolower(dirname[0]);
|
|
|
|
msg("You %s to the %s...", getmoveverb(lf), getdirname(dir));
|
|
|
|
// move cursor to msgwindow while we create the new level...
|
|
|
|
wrefresh(msgwin);
|
|
|
|
} else if (cansee(player, lf)) {
|
|
|
|
char dirname[BUFLEN];
|
|
|
|
char lfname[BUFLEN];
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
char mverb[BUFLEN];
|
|
|
|
getmoveverbother(lf, mverb);
|
2011-05-20 06:30:58 +10:00
|
|
|
getlfname(lf, lfname);
|
|
|
|
curs_set(1);
|
|
|
|
strcpy(dirname, getdirname(dir));
|
|
|
|
dirname[0] = tolower(dirname[0]);
|
- [+] announce when a web spell hits you
- [+] grammar: xxx "flys" into view. need getmoveverbplural()
- [+] make yumi's "well, that seems unfair" only work when killed by a
mosnter which didn't chase you up.
- [+] no unarmed skill descriptions!!
- [+] remove pain ability from stink beetle
- [+] cockroach - with just high armour rating (10)
- [+] bajeetle - lower armour but bite causes pain
- [+] yumi - only allow you to gain piety from letting a monster run
away ONCE per mosnter
- [+] new monster: petrifungus
- [+] give merciful fighting for novoice adanced combat
- [+] monsters should lose targets when eating
- [+] vault: window in wall
- [+] fix werewolf hiding code for Rattus (when medium sized)
- [+] "you hear a muffled slithering" - this shouldnt be loud enough to
go through walls!
- [+] selected Evil Adventurer. alignment ended up as NONE
- [+] have added debugging
- [+] wait for it to happen again
- [+] put in code to check at start of turn whethe r my alignment
just changed.
- [+] my alignment seems to have changed to NONE
- [+] POLYMORPH is causing this.
- [+] fixed
- [+] commando should have low level version of gunblade
- [+] electromachete - low pierce + low electric
- [+] gunblade - med slash + low explosive
- [+] boomstick - med bash + high explosive
- [+] commando should start with a few energy packs (need to add this
object)
- [+] l2 tech
- [+] operate it to recharge tech which has charges.
- [+] like a scroll of replenishment, but only for tech.
- [+] when monsters follow you up stairs, they should face you
- [+] jewelry store should buy watches
- [+] when exploding cells, remember who caused it
- [+] new arg: lifeform_t *causedby
- [+] use this when dealing damage, so that it counts as player
kill (etC)
- [+] explodeob
- [+] monks sohuld be very resistant to being scared
- [+] gauntlets (or other hard gloves) should increase unarmed damge by
1
- [+] seems almost impossible to break locks on chests by bashing....
check the calc.
- [+] fixed.
- [+] ekrub should accept sacrifices of plant matter
- [+] sebastian - absorbs physical damage to increase damage.
- [+] after first hit: +1dam, knockback
- [+] after 2nd: +2 dam
- [+] etc
- [+] vuln to non-physical (fire, magic, cold, elec, etc)
- [+] cockroach, plague rat should taint anything it walks on
- [+] fix up morale checks. 30 should be 100. therefore: multiply by 3
and a bit.
- [+] CRASH during wish for Power
- [+] bug:
- [+] You whack the pixie. The pixie turns to face you.
The pixie turns to flee from you!
Amberon's voice booms out from the heavens:
"You dare attack an innocent?" Amberon's voice booms out
from the heavens:
"You dare attack an innocent?" The pixie gestures at itself.
- [+] baba yaga's hut
- [+] shoudln't be able todrink potions
- [+] shouldn't take criticals
- [+] don't annoucne time during combat
- [+] bug after giving gold to a bandit:
- [+] $ - 0 gold dollars
- [+] lore: tech... every level says' no special effects'
- [+] bug: Strength: 24 (very weak, +1 dmg)*
- [+] bug in getstrdammod()
- [+] bug: A brown snake walks into view.
- [+] should be 'slithers'
- [+] mud shouldnt make shoes wet
- [+] refridgerator should only have meat in it
- [+] some jobs which have whip skills
- [+] scourge should always start with a whip.
- [+] fighter should be able to pick it
- [+] aligned temples sohuld be half price (or free if god is pleased?)
- [+] SM_DETECTCURSE
- [+] SM_PURCHASEITEMS
- [+] SM_BLESS
- [+] SM_MIRACLE
- [+] re-introduce monster zoos vault
- [+] bullwhip shouldn't be able to dull!
- [+] banana skin not slippery anoymore
- [+] slightly boost player's starting hp
- [+] why can vampire bat reach me to damage by boots/trousers?
- [+] check out canreachbp() in lf.c
- [+] maybe fixed
- [+] commando's starting gun should start with normal bullets, never
silver
- [+] klikirak should grant fire powers
- [+] cast pyromania when you pray
- [+] gift: immolate every 20 turns
- [+] fix trytokillobs() - this might fix some of the infinite loops
i'm getting during level creation.
- [+] klikirak should give slightly more xp for sacrifing objects
- [+] hawks should swoop more often
- [+] book colours are incorrect (ie. "red book" isn't red)
- [+] i saw "something burns!" while resting...
- [+] make hollow trees be green
- [+] blessed amnesia shouldn't do anything bad
- [+] armour stores shouldn't get hot!
- [+] earthworm should only divide from slash damage - not bash
- [+] queen ant shoudl be able to summon lots of soldiers
- [+] staircases should be on top of ash piles when draring them!!
- [+] in fact, staircases should be on top of _everything_
- [+] sanctuary potion should put out fires under you! (or anything
with walkdam)
- [+] shouldn't be able to smell by's hut
- [+] wood wall should be diggable with pickaxe
- [+] does shovel actually work? no, but it does now.
- [+] dungeon level name - if it has a swamp vault, level is just
called "the swamp"
- [+] fire damage to bread = toast
- [+] only say "the light here is a bit dim" etc if it's different form
your previous level
- [+] weapon stores shouldn't appear in baba yaha's hut!
- [+] i think i said "weapon" but it turned into weapon store.
- [+] works in a wish...... is this only a problem in a vault?
- [+] test agian.....
- [+] during summon mosnter, don't say 'the xxx starts to fly!' before
"the xxx appears"
- [+] when i read a create monster scroll, this _doesnt_ happen.
- [+] when i cast summon small animals and a brian bat appears, it
_doesnt_ happen
- [+] only seems to happen whan a mosnter uses a summon spell
- [+] maybe to do with finalisemonster() or "autogen" being set in
addmonster?
- [+] fixed now?
- [+] walking on water shouldn't extinguish a flaming weapon!
- [+] losehp_real needs a 'bodypart' argument
- [+] klikirak should like killing plants
- [+] do something to stop kilkirak worhipers from scarificeing the
entire forest!
- [+] if you attack a plant lf in the sylvan forest
- [+] nearby plants attack.
- [+] 33% chance of a treant:
- [+] same if you destroy a plant object
- [+] takedamage() needs a "fromlf" arg
- [+] or sacrifice one.
- [+] _warning_ if you attack a plant object or plant lf. (but
don't kill it)
- [+] WISDOM warnings:
- [+] if you are about to attack an OC_FLORA object in the
woods (and have felt the woods get angry once before)
- [+] if you are about to attack a RC_PLANT lf in the woods
- [+] if you are about to attack a CT_WALLTREE cell in the woods
- [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
|
|
|
msg("%s %s to the %s...", lfname, mverb, getdirname(dir));
|
2011-05-20 06:30:58 +10:00
|
|
|
wrefresh(msgwin);
|
|
|
|
}
|
|
|
|
|
|
|
|
// is there a map in that direction ?
|
|
|
|
thismap = lf->cell->map;
|
|
|
|
adjmap = findmap(lf->cell->map->nextmap[dir]);
|
|
|
|
if (!adjmap) {
|
|
|
|
// make one
|
|
|
|
adjmap = addmap();
|
2011-06-29 18:48:48 +10:00
|
|
|
createmap(adjmap, thismap->depth, thismap->region, thismap, dir, NULL);
|
2011-05-20 06:30:58 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
if (adjmap) {
|
|
|
|
// find an empty cell in the next map
|
|
|
|
dst = findmapentrypoint(adjmap, diropposite(dir), lf);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (!dst) {
|
|
|
|
// failed
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
msg("Your path seems to be blocked.");
|
|
|
|
}
|
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-09-15 11:40:26 +10:00
|
|
|
if (onpurpose && isplayer(lf)) {
|
2011-05-20 06:30:58 +10:00
|
|
|
// get list of adjacent allies
|
2011-09-15 11:40:26 +10:00
|
|
|
getwhowillfollow(lf, NULL, adjally, seen, &nadjallies);
|
|
|
|
for (n = 0; n < nadjallies; n++) {
|
|
|
|
if (seen[n]) {
|
|
|
|
char lname[BUFLEN];
|
2012-03-29 07:17:47 +11:00
|
|
|
real_getlfname(adjally[n], lname, NULL, B_NOSHOWALL, B_CURRACE);
|
2011-09-15 11:40:26 +10:00
|
|
|
msg("%s follows you.", lname);
|
|
|
|
}
|
2011-05-20 06:30:58 +10:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// announce
|
|
|
|
announcearrival(lf, dst->map);
|
|
|
|
|
|
|
|
// move there
|
|
|
|
moveto(lf, dst, onpurpose, B_TRUE);
|
|
|
|
if (onpurpose) {
|
|
|
|
taketime(lf, getmovespeed(lf));
|
|
|
|
}
|
|
|
|
|
|
|
|
// move adjacent allies
|
|
|
|
if (onpurpose) {
|
|
|
|
for (n = 0; n < nadjallies; n++) {
|
|
|
|
cell_t *c;
|
- [+] vault:pub
- [+] has lots of recruitable people
- [+] plants, magic creatures, etc shoudl have infinite staina
- [+] severed fingers/heads are no longer considered "corpses".
- [+] new kind of bed: pile of straw
- [+] closed shops now work properly.
- [+] stench skillcheck (in makenauseated) - announce this differenlty
to 'nothing happen's
- [+] monsters won't turn to face sounds when fleeing.
- [+] increase accuracy for spear, but reduce accuracy when adjacent
- [+] why didn't cyborg warrior start with bullwhip equiped??
- [+] isbetterwepthan() should take EXTRADAM flag into account
- [+] monster starting skill levels should depend on iq
- [+] no sprinting with injured legs
- [+] more restructions when stunned:
- [+] no throwing
- [+] no operating
- [+] no firearms
- [+] tombstone text: Eaten by a snow troll's halberd
- [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant
corpse! reduced.
- [+] learning certain lore skills should please gods
- [+] repairing should take a lot longer. ie. shoudlbn't be able to do
it during a fight.
- [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR,
v0=material, v1=howmuch
- [+] continuerepairing() should only fix <skill + helpsrepair> hp
per turn.
- [+] announce helpsrepair in obdesc
- [+] coldroom vault:
- [+] ice floor
- [+] ice walls
- [+] ice pillar
- [+] frozen corpses
- [+] new job: gladiator
- [+] sword
- [+] shield
- [+] high shield skill
- [+] high evasion skill
- [+] limited armour skill
- [+] net
- [+] war cry fairly early on
- [+] gust of wind and airblast should drop flying creatures
- [+] fall_from_air().
- [+] trigger then when wind-based effects hit.
- [+] chance of falling depends on size.
- [+] if you polymorph a monster, it should NOT turn back to its
original form!
- [+] criticals dont seem to be happening any more... fixed
- [+] when picking first askcoords target lf, pick the closest
- [+] sakcs etc should contain rarer objects.
- [+] intelligent ai: if exhausted and in battle, and faster than
opponent, flee.???
- [+] easy way to fix reachability:
- [+] is there a solid cell which is:
- [+] adjacent to both a filled and an unfilled area?
- [+] not a fixed vault wall?
- [+] if so, just clear it.
- [+] genericise getrandomrace flags
- [+] some containers should have mini/tiny monsters inside!
- [+] f_hashidinglf, v0=rid
- [+] if you loot it, monster jumps out
- [+] ...and gets a free hit!
- [+] perception lets you see the container moving (only if it
weighs less than what is inside it)
- [+] genericise getrandomcell() with conditionsets.
* [+] condset_t
- [+] then replace all getrandomadjcell() calls...
- [+] remove getrandomroomcells
- [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
|
|
|
c = getrandomadjcell(dst, &ccwalkable, B_ALLOWEXPAND);
|
2011-05-20 06:30:58 +10:00
|
|
|
if (c) {
|
2011-12-09 11:37:02 +11:00
|
|
|
if (!initiatemove(adjally[n], NULL, B_TRUE, NULL)) {
|
- [+] walking on glowing moss sohuld damage it.
- [+] make dagger stronger than combat knife (but combat knife is
faster)
- [+] optimise makefile.
- [+] swapplaces message not appearing.
- [+] fix exploit for dizziness with 'A'
- [+] every time we ask for a direction, use askdirection(prompt).
make this do dizziness check.
- [+] no shieldblocking or dodging if you have no stamina.
- [+] object rarity bugs
- [+] i'm finding way too many books! might be fixed now... ?
- [+] never finding wands
- [+] added debugging to see if there is a problem with wands....
- [+] adjust footstep sound based on material
- [+] carpet = soft
- [+] stone = normal
- [+] tiles = loud
- [+] in @e, "you ar etipsy" should also talk about damage resistance.
- [+] don't show starting abilities if you are a diety.
- [+] don't say 'xx walks out of view' if they didn't move on purpose
- [+] CRASH - summon weapon then drop the energy blade.
* [+] CRASH when fumbling attack using energy blade.
- [+] fighter with wisdom 31. novice perception skill. noticied
teleport trap right in front of me. chances?
- [+] maybe make it you can never detect anything further away than
your perception skill.
- [+] fix bug in geteffecttime()
- [+] announce starting spells at beginning of game
- [+] in skill help, highlight your current level. Maybe: "At Novice
level>>> Unskilled weapons etc..."
- [+] inept level lore shouldn't show "Adept Stealth" as a strength
- [+] when you / then move over a cell with footprints short "Dirt
(with human footprints)"
- [+] or "Dirt (with xxx foorprints leading east)
- [+] typo in killer text - an vs a
- [+] get over here! should give you enough time to attack ?
- [+] felix prayer should remove impassable objects.
- [+] robots shoudl have big penalties to getting up checks. slip,
fall, etc.
- [+] fix bug when falling off a fence.
- [+] BUG: no los when i climb on top of a wooden fence. why?
- [+] F_BLOCKSVIEW needs new option: v1 = true means dont block
if you are standing on it
* [+] engineering / construction skill - replaces 'traps'
- [+] fixed bug where you couldn't rest when you pet was visible.
- [+] bug: aigetlastknownpos populating lastx & lasty with different
info from the the cell returned.
- [+] this has happening when following the direction of a scent.
- [+] remove display of "xx throws xxx towards you" if you can't see
the source and something is in the way.
- [+] druid should alway sbe able to swap with plants.
- [+] peaceful check should do this
- [+] try agian...
* [+] problem- create water can be used instead of soften earth ???
- [+] detect life should help with checking stairs.
- [+] pentagrams should heal the undead.
- [+] ekrub - don't et you sacrifice the flower that appears.
* [+] when doing check for piety on eating animals
- [+] don't auto give druid short blade skill due to sickle
- [+] soften earth on boulder... turn it to mud
- [+] adept psychology - receive change for gems.
- [+] BUG: announceflagloss is never happening.
- [+] new nature spell - absorb wood
- [+] clank - robot, chomp to steal health, self destruct
- [+] new tech
- [+] l0
- [+] chewing gum (jam doors with it) - this should be food
though.
- [+] plants shoudl HELP druid from level 4 onwards
- [+] clean up skill ability code
- [+] automate skill descriptions based on skillwills "you gain the
'xxx' ability"
- [+] auto-learn spells from initial spellbook, rather than having to
read it manually
- [+] finding rings of unholiness everywhere.
- [+] because it's the only rare ring!
- [+] fixed by making ALL rings be uncommon
- [+] first time you slip on something, suggest using 's'
- [+] sewing / metalwork: get resize and enhance earlier.
- [+] bug with engineering seeing through one wall!s
- [+] rogue/knifedancer / blademaster - throwing, extra skill with
small blades. starts with extra knives.
- [+] replace all SUBJOBS with plain regular JOBs
- [+] fix "needobforstaff" for wizards!
- [+] sewer should have mossy rock floor. slippery.
- [+] new specialist classes:
- [+] rogue/assassin (no stealing, no traps, lockpicking, better
stealth+backstab, poison knives)
- [+] minor healing spell is too powerful. should do 5-10hp max.
- [+] reveal hidden is not powerful enough for l4. move to l2.
- [+] reduce effects of stench as TR gets higher
- [+] lumara should accept sacrifice of anything magic.
- [+] oil lamp not making my viison longer! (on dlev11)
- [+] just describe f_produceslight in io.c
- [+] with no evasion skill, agi does way less for EV.
- [+] fungus clouds should be in 1 radius, non orthogonal
- [+] try putting monster zoo back in?
- [+] STILL bugs detecting trapped doors ages away!
- [+] detected one 8 away, perception novice!
- [+] when a monster necromancer is made, i'm prompted for spell
school!!!
- [+] new mushroom: greycap. looks like a miniature snowy mountain.
grants cold resistance
- [+] shop opening hours
- [+] F_OPENHOURS
- [+] v0 = start (inclusive)
- [+] v1 = end (inclusive)
- [+] v2 = sayphrase
- [+] SP_CLOSEDTILMORN (come back in the morning)
- [+] SP_CLOSEDTILNIGHT (come back tonight)
- [+] SP_CLOSEDTILHOUR (come back after x oclock!)
- [+] make shops only be open during the day.
- [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
|
|
|
movelf(adjally[n], c, B_FALSE);
|
2011-05-20 06:30:58 +10:00
|
|
|
taketime(adjally[n], getmovespeed(adjally[n]));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (isplayer(lf)) {
|
|
|
|
statdirty = B_TRUE;
|
|
|
|
needredraw = B_TRUE;
|
2012-08-02 14:08:27 +10:00
|
|
|
//calclight(lf->cell->map);
|
- [+] 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
|
|
|
setlosdirty(lf);
|
|
|
|
//precalclos(lf);
|
2011-05-20 06:30:58 +10:00
|
|
|
drawscreen();
|
|
|
|
}
|
|
|
|
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
2010-12-02 12:17:54 +11:00
|
|
|
|
2012-11-07 07:32:56 +11:00
|
|
|
// returns direction to an adjacent cell
|
|
|
|
int whichwayto(cell_t *start, cell_t *end, lifeform_t *srclf, int wantcheck) {
|
|
|
|
int i;
|
|
|
|
cell_t *c;
|
|
|
|
for (i = DC_N; i <= DC_NW; i++) {
|
|
|
|
c = getcellindir(start, i);
|
|
|
|
if (c == end) {
|
|
|
|
int ok = B_FALSE;
|
|
|
|
enum ERROR error = E_OK;
|
|
|
|
if (wantcheck) {
|
|
|
|
if (srclf) {
|
|
|
|
if (canandwillmove(srclf, i, &error)) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
} else if (error == E_DOORINWAY) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (srclf) {
|
|
|
|
if (cellwalkable(srclf, c, &error)) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
} else if (error == E_DOORINWAY) {
|
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
ok = B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (ok) {
|
|
|
|
return i;
|
|
|
|
} else {
|
|
|
|
return getdirtowards(start, end, srclf, wantcheck, DT_ORTH);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return D_NONE;
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
int willmove(lifeform_t *lf, int dir, enum ERROR *error) {
|
|
|
|
cell_t *cell;
|
* [+] 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 ATTRBRACKET iq;
|
2012-08-01 07:19:04 +10:00
|
|
|
enum ATTRBRACKET wis;
|
2011-04-06 17:27:55 +10:00
|
|
|
object_t *o;
|
|
|
|
char buf[BUFLEN];
|
* [+] 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
|
|
|
flag_t *f;
|
2011-04-14 09:44:29 +10:00
|
|
|
|
2011-02-16 05:21:33 +11:00
|
|
|
//object_t *o;
|
* [+] 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
|
|
|
iq = getattrbracket(getattr(lf, A_IQ), A_IQ, NULL);
|
2012-08-01 07:19:04 +10:00
|
|
|
wis = getattrbracket(getattr(lf, A_WIS), A_WIS, NULL);
|
2011-02-01 06:16:13 +11:00
|
|
|
|
|
|
|
// default
|
|
|
|
if (error) {
|
|
|
|
*error = E_OK;
|
|
|
|
rdata = NULL;
|
|
|
|
}
|
|
|
|
|
- [+] 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
|
|
|
if (iswoozy(lf)) {
|
2011-04-14 09:44:29 +10:00
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
cell = getcellindir(lf->cell, dir);
|
2011-06-29 18:48:48 +10:00
|
|
|
if (!cell) {
|
|
|
|
// won't walk off map
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2012-12-04 16:15:27 +11:00
|
|
|
// mosnters will never move on top of other monsters
|
|
|
|
// pretending to be objects (ie. gargoyles)
|
|
|
|
if (hasobwithflag(cell->obpile, F_ISMONSTER)) {
|
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
|
2011-06-29 18:48:48 +10:00
|
|
|
if (celldangerous(lf, cell, B_TRUE, error)) {
|
2012-08-01 07:19:04 +10:00
|
|
|
// if lfs are fleeing and have below average wisdom,
|
|
|
|
// they will walk onto dangerous cells
|
|
|
|
if (isfleeing(lf) && (wis < AT_AVERAGE)) {
|
|
|
|
} else {
|
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
2011-06-29 18:48:48 +10:00
|
|
|
}
|
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
|
|
|
|
- [+] 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
|
|
|
// dont move out of range of lifeobs, but attacking out of range lfs is ok
|
|
|
|
if (!cell->lf) {
|
|
|
|
f = lfhasflag(lf, F_LIFEOB);
|
|
|
|
if (f) {
|
2012-03-09 06:42:25 +11:00
|
|
|
if (!findnearbylifeob(cell, NA, f, NULL)) {
|
- [+] 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
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-11-02 07:35:50 +11:00
|
|
|
// glyph of warding?
|
|
|
|
if (cell->writing && strstr(cell->writing, "*WARD")) {
|
|
|
|
char buf[BUFLEN];
|
|
|
|
char *bp, *p;
|
|
|
|
int power;
|
|
|
|
// extract number
|
|
|
|
bp = buf;
|
|
|
|
for (p = cell->writing; *p; p++) {
|
|
|
|
if (isdigit(*p)) {
|
|
|
|
*bp = *p;
|
|
|
|
bp++;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
*bp = '\0';
|
|
|
|
power = atoi(buf);
|
2012-02-29 17:05:14 +11:00
|
|
|
limit(&power, 1, NA);
|
2012-03-06 21:47:26 +11:00
|
|
|
if ( gettr(lf) <= power) {
|
2011-11-02 07:35:50 +11:00
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-07-21 11:43:45 +10:00
|
|
|
// some lfs will only leave their rooms if they have a target
|
|
|
|
// ie. shopkeepers
|
* [+] 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
|
|
|
f = lfhasflag(lf, F_STAYINROOM);
|
|
|
|
if (f) {
|
|
|
|
int roomid;
|
2012-06-08 11:29:48 +10:00
|
|
|
int goingtodiffroom = B_FALSE;
|
* [+] 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
|
|
|
roomid = f->val[0];
|
2012-06-08 11:29:48 +10:00
|
|
|
|
|
|
|
if (roomid == NA) {
|
|
|
|
if (getroomid(lf->cell) != getroomid(cell)) {
|
|
|
|
goingtodiffroom = B_TRUE;
|
|
|
|
}
|
|
|
|
} else {
|
2011-08-24 18:15:09 +10:00
|
|
|
if ((getroomid(lf->cell) == roomid) && (getroomid(lf->cell) != getroomid(cell))) {
|
2012-06-08 11:29:48 +10:00
|
|
|
goingtodiffroom = B_TRUE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (goingtodiffroom) {
|
|
|
|
if ((f->val[1] == B_MAYCHASE) && aihastarget(lf)) {
|
|
|
|
// exception!
|
|
|
|
} else {
|
|
|
|
// won't go to a different room.
|
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
* [+] 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
|
|
|
}
|
|
|
|
}
|
2011-06-29 18:48:48 +10:00
|
|
|
}
|
|
|
|
|
|
|
|
if (lfhasflag(lf, F_STAYINHABITAT) && (cell->habitat->id != lf->cell->habitat->id)) {
|
2011-04-06 17:27:55 +10:00
|
|
|
if (error) *error = E_WONT;
|
2011-02-16 05:21:33 +11:00
|
|
|
return B_FALSE;
|
2011-02-01 06:16:13 +11:00
|
|
|
}
|
2011-03-04 12:22:36 +11:00
|
|
|
|
2012-11-15 22:39:46 +11:00
|
|
|
// don't move anywhere which would put other non-allied lfs
|
|
|
|
// within our territorial range.
|
|
|
|
f = aihastarget(lf);
|
|
|
|
if (f && (f->id == F_TARGETLF)) {
|
|
|
|
} else {
|
|
|
|
f = lfhasflag(lf, F_TERRITORIAL);
|
|
|
|
if (f && !isfleeing(lf) && !lfhasflag(lf, F_RAGE)) {
|
|
|
|
int tdist,i;
|
|
|
|
tdist = f->val[0];
|
|
|
|
// is there a lf in sight, who is within our territorial
|
|
|
|
// radius of the cell we are testing?
|
|
|
|
for (i = 0; i < lf->nlos; i++) {
|
2012-11-19 15:57:48 +11:00
|
|
|
lifeform_t *otherlf;
|
|
|
|
otherlf = lf->los[i]->lf;
|
|
|
|
if (otherlf && !areallies(lf, otherlf) &&
|
|
|
|
(getcelldist(cell, otherlf->cell) <= tdist)) {
|
|
|
|
if (!isasleep(otherlf)) {
|
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
2012-11-15 22:39:46 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-03-04 12:22:36 +11:00
|
|
|
// don't attack other monsters
|
2011-12-20 19:03:15 +11:00
|
|
|
// or non-enemies
|
2012-01-06 11:20:57 +11:00
|
|
|
// (unless we have targetted them)
|
2011-06-29 18:48:48 +10:00
|
|
|
if (cell->lf) { // if someone is in the way
|
2011-08-06 07:34:35 +10:00
|
|
|
object_t *defenderwep = NULL;
|
* [+] 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
|
|
|
if (lf->race->raceclass->id == RC_INSECT) {
|
|
|
|
if (hasactivespell(cell->lf, OT_S_REPELINSECTS)) {
|
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-08-06 07:34:35 +10:00
|
|
|
defenderwep = getweapon(cell->lf);
|
|
|
|
if (defenderwep) {
|
|
|
|
if (lfhasflagval(lf, F_AVOIDOBTYPE, defenderwep->type->id, B_TRUE, NA, NULL)) {
|
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2011-03-18 12:25:18 +11:00
|
|
|
if (!isplayer(lf)) { // if we are a monster
|
2011-12-20 19:03:15 +11:00
|
|
|
// if the person in the way isn't our enemy, or is KO'd/dead...
|
|
|
|
if (!areenemies(lf, cell->lf) || isdead(cell->lf) || isunconscious(cell->lf)) {
|
2011-04-01 10:54:44 +11:00
|
|
|
// if they are an ally...
|
|
|
|
if (canswapwith(lf, cell->lf)) {
|
|
|
|
return B_TRUE;
|
2011-03-18 12:25:18 +11:00
|
|
|
}
|
2011-04-06 17:27:55 +10:00
|
|
|
if (error) *error = E_WONT;
|
2011-04-01 10:54:44 +11:00
|
|
|
return B_FALSE;
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
2011-04-01 10:54:44 +11:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-08-01 07:19:04 +10:00
|
|
|
// for at least average wisdom things...
|
|
|
|
if (wis >= AT_AVERAGE) {
|
2011-04-01 10:54:44 +11:00
|
|
|
// don't move if in pain
|
2012-04-02 05:48:13 +10:00
|
|
|
if (move_will_hurt(lf) && !isfleeing(lf)) {
|
2011-04-06 17:27:55 +10:00
|
|
|
if (error) *error = E_WONT;
|
2011-04-01 10:54:44 +11:00
|
|
|
return B_FALSE;
|
2011-03-04 12:22:36 +11:00
|
|
|
}
|
|
|
|
}
|
2011-04-06 17:27:55 +10:00
|
|
|
|
2012-08-02 14:08:27 +10:00
|
|
|
// look for avoided objects (because they are cursed or otherwise).
|
2011-06-29 18:48:48 +10:00
|
|
|
for (o = cell->obpile->first ; o ; o = o->next) {
|
|
|
|
flag_t *f;
|
2012-11-05 12:44:01 +11:00
|
|
|
int oblit = 0;
|
2011-09-01 03:33:35 +10:00
|
|
|
snprintf(buf, BUFLEN, "%ld",o->id);
|
2011-08-06 07:34:35 +10:00
|
|
|
f = lfhasflagval(lf, F_AVOIDOB, NA, NA, NA, buf);
|
2011-06-29 18:48:48 +10:00
|
|
|
if (f) {
|
|
|
|
// still cursed?
|
2011-08-06 07:34:35 +10:00
|
|
|
if ((f->val[0] != NA) && (o->blessed == f->val[0])) {
|
2011-06-29 18:48:48 +10:00
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
} else {
|
|
|
|
// remove the flag.
|
|
|
|
killflag(f);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2012-11-05 12:44:01 +11:00
|
|
|
oblit = obproduceslight(o);
|
|
|
|
if (oblit) {
|
|
|
|
if (isundead(lf)) {
|
|
|
|
if (oblit >= gettr(lf)) {
|
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (lighthurtseyes(lf)) {
|
|
|
|
if (wis >= AT_AVERAGE) {
|
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
2012-08-02 14:08:27 +10:00
|
|
|
}
|
|
|
|
}
|
2012-11-05 12:44:01 +11:00
|
|
|
|
2012-08-02 14:08:27 +10:00
|
|
|
|
2011-06-29 18:48:48 +10:00
|
|
|
if (hasflag(o->flags, F_TRAP)) {
|
|
|
|
if (hasflag(o->flags, F_SECRET)) {
|
|
|
|
// hidden traps?
|
* [+] 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
|
|
|
if (iq >= AT_GTAVERAGE) {
|
* [+] 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
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
|
|
|
}
|
2011-06-29 18:48:48 +10:00
|
|
|
} else {
|
|
|
|
// non-hidden traps?
|
* [+] 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
|
|
|
if (iq >= AT_AVERAGE) {
|
2011-06-29 18:48:48 +10:00
|
|
|
if (error) *error = E_WONT;
|
|
|
|
return B_FALSE;
|
* [+] 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
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2011-04-06 17:27:55 +10:00
|
|
|
}
|
|
|
|
|
2011-02-01 06:16:13 +11:00
|
|
|
return B_TRUE;
|
|
|
|
}
|
|
|
|
|