2010-12-02 12:17:54 +11:00
|
|
|
#include "defs.h"
|
|
|
|
|
2012-01-06 11:20:57 +11:00
|
|
|
int applyarmourdamage(lifeform_t *lf, object_t *wep, int dam, enum DAMTYPE damtype, lifeform_t *attacker);
|
2011-03-04 12:22:36 +11:00
|
|
|
void applyarmourdamreduction(lifeform_t *lf, object_t *wep, int reduceamt, int *dam, enum DAMTYPE damtype);
|
2011-06-20 13:16:30 +10:00
|
|
|
int attackcell(lifeform_t *lf, cell_t *c, int force);
|
2011-04-08 13:18:54 +10:00
|
|
|
int attacklf(lifeform_t *lf, lifeform_t *victim, object_t *wep, flag_t *damflag);
|
|
|
|
int attackob(lifeform_t *lf, object_t *o, object_t *wep, flag_t *damflag);
|
2012-01-12 12:28:07 +11:00
|
|
|
int attackwall(lifeform_t *lf, cell_t *c, object_t *wep, flag_t *damflag);
|
2011-10-07 07:12:13 +11:00
|
|
|
enum DAMTYPE basedamagetype(enum DAMTYPE dt);
|
2011-12-13 03:40:17 +11:00
|
|
|
int check_for_block(lifeform_t *lf, lifeform_t *victim, int dam, enum DAMTYPE damtype, int difficulty, char *attackname);
|
|
|
|
//void confereffects(flagpile_t *fp, lifeform_t *victim);
|
2012-04-14 08:52:35 +10:00
|
|
|
void criticalhit(lifeform_t *lf, lifeform_t *victim, enum BODYPART hitpos, object_t *wep, int dam, enum DAMTYPE damtype);
|
2012-06-03 08:43:18 +10:00
|
|
|
int damtypecausesbleed(enum DAMTYPE dt, object_t *fromob);
|
2011-08-24 18:15:09 +10:00
|
|
|
int damtypecausescriteffects(enum DAMTYPE dt);
|
2011-03-04 12:22:36 +11:00
|
|
|
int getarmourdamreduction(lifeform_t *lf, object_t *wep, int dam, enum DAMTYPE damtype);
|
2011-07-29 08:45:34 +10:00
|
|
|
void getarrange(int arating, int *min, int *max);
|
2011-04-08 13:18:54 +10:00
|
|
|
//object_t *getattackwep(lifeform_t *lf, obpile_t **unarmedpile, flag_t **unarmedflag);
|
2011-02-01 06:16:13 +11:00
|
|
|
enum DAMTYPE getdamtype(object_t *wep);
|
2012-03-29 07:17:47 +11:00
|
|
|
int getextradamlf(lifeform_t *lf, int *dam, enum DAMTYPE *damtype, int *ndam, int wantmax);
|
2012-06-25 22:49:53 +10:00
|
|
|
int getextradamwep(object_t *wep, int *dam, enum DAMTYPE *damtype, int *ndam, int fordisplay);
|
2011-10-25 03:46:19 +11:00
|
|
|
void getdamrange(object_t *o, flag_t *f, int *min, int *max);
|
|
|
|
//void getdamrange(object_t *o, int *min, int *max);
|
2011-04-08 13:18:54 +10:00
|
|
|
//void getdamrangeunarmed(flag_t *f, int *min, int *max);
|
2011-06-05 19:21:21 +10:00
|
|
|
//float getdamreducepct(float armourrating);
|
2011-04-08 13:18:54 +10:00
|
|
|
int getdamroll(object_t *o, lifeform_t *victim, flag_t *damflag);
|
|
|
|
//int getunarmeddamroll(flag_t *f);
|
2012-01-25 07:38:59 +11:00
|
|
|
int getstrdammod(lifeform_t *lf);
|
2011-04-08 13:18:54 +10:00
|
|
|
//obpile_t *getunarmedweapon(lifeform_t *lf, flag_t **uflag);
|
- [+] 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
|
|
|
int iskineticdam(enum DAMTYPE damtype);
|
2011-06-09 18:58:35 +10:00
|
|
|
int ismeleedam(enum DAMTYPE damtype);
|
2011-04-06 17:27:55 +10:00
|
|
|
int isphysicaldam(enum DAMTYPE damtype);
|
2011-06-20 13:16:30 +10:00
|
|
|
void modifyforsize(int *val, lifeform_t *lf, lifeform_t *victim, int howmuch, enum MODTYPE how);
|
2012-08-01 07:19:04 +10:00
|
|
|
int rolltohit(lifeform_t *lf, lifeform_t *victim, object_t *wep, int *critical, int *fumble, int *missby);
|
- [+] 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
|
|
|
void wepeffects(flagpile_t *fp, cell_t *where, flag_t *damflag, int dam, int isunarmed);
|