nexus/spell.h

51 lines
3.0 KiB
C
Raw Normal View History

2010-12-07 18:34:26 +11:00
#ifndef __SPELLS_H
#define __SPELLS_H
#include "defs.h"
int abilityeffects(lifeform_t *user, enum OBTYPE abilid, cell_t *targcell, lifeform_t *target, flag_t *cwflag);
- [+] implement getradiuscells() - [+] evaporate spell - turn water into steam - [+] monster generation bug? even on dlev10 i'm stil getting mostly kobolds - [+] ai infinint eloop again - frost hawk trying to open door - [+] another infinite loop - not falling through after spell failure. * [+] reduce attack delay for most weapons. - [+] letplayer see a tiny bit in the dark (1 cell ?) - [+] beginner tracking not working - fixed. - [+] only show "...but do no damage" if you have good knowledge about their race. - [+] make gold lighter * [+] footprints glyph shouldn't override pudles of water! - [+] only show eviscerate etc if you have good knowledge? - [+] don't start monsters on the stairs/magical barriers!!! - [+] stone should be immune to more damage types * [+] addexits adding way too many exits. - [+] blessed identify should ID everything - [+] blessed mending mends all - [+] don't make noise when slowmoving. - [+] eyebat dispersal big: The eyebat's strong scent leading north disappears! - [+] go over footprint+scent+corpse and pickup:"You can't pick up footprints!" * [+] doors can't do on top of each other!!! * [+] low ground - [+] make sure you can't have more than one "water" object in a cell. * [+] make val2 of rarity be "common/uncommon/rare" etc - [+] more monster types should appear in the forest. - [+] when i go down stairs into a dark area, "it is pitch black!" is being cleared. * [+] helm of the poltergeist - [+] flying creatures get penalties in webs etc - [+] blind things shoudln't follow up/donw stairs - [+] You shout a blood-curdling war cry! The sawgrass turns to flee from you! - [+] potions still worth too much. minor healing was 420!! - [+] AI should only go towards covetted object if it's closer or the same distanec as target. - [+] branded objects should be worth LOTS - at the moment they're worth 1!! * [+] maybe just adjust value of rarity? - [+] don't roll spot checks while training! * [+] replace f_nofeel with: - [+] revenge did too much damage (50) * [+] change how AR works - [+] need to add: "really walk into a falling rock trap" ? - [+] put only ONE staircase going up on dlev 0 - [+] why am i stopping sprinting after 1 move? * [+] somehow make sure mosnters can't see footprints in a cell with mist - [+] bones shouldn't be able to catch on fire. - [+] when you levle up, gainskill BEFORE getting new spells - [+] put out flaming objects after pickup * [+] don't say "really target yourself?" when using a potion of sleep!! - [+] enhance a random skill when levelling up? every 2 levels? - [+] weaken koboldsa little - less change of javelin - [+] don't drown instantly - take a few turns, depending on CON * [+] create vault spell for debugging ??? - [+] doors in the middle of rooms. - [+] highlight selected choice in askstr - [+] flooded_room being created without walls!!!!!! - [+] describe spell from levleup not working * [+] GETROOMEDGE RETURNING NO CELLS for circularroom!!!!! - [+] fire wizard not prompted to get firedart at l2.. Vaults * [+] X corridor - - [+] crosshatch - [+] should water be ~ instead ?? and change whatever is currently a tilde to something else... Initial work on goal: - [+] surround all stairs with barriers - [+] start player NEAR stairs (randomadjcell from stairs, allowexpand) + methods of escape - [+] knock scroll - [+] digging (but it stops the dig from going any further)
2011-06-09 18:58:35 +10:00
int dospelleffects(lifeform_t *caster, enum OBTYPE spellid, int power, lifeform_t *target, object_t *targob, cell_t *targcell, int blessed, int *seenbyplayer, int frompot);
2011-05-20 06:30:58 +10:00
objecttype_t *findspelln(char *buf);
enum SPELLSCHOOL findspellschoolbyname(char *buf);
2011-02-01 06:16:13 +11:00
void fizzle(lifeform_t *caster);
2011-03-16 15:45:46 +11:00
//int getiqreq(enum OBTYPE oid);
enum OBTYPE getfirstwizspell(enum SPELLSCHOOL school);
- [+] 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
char *getforcedspellrace(lifeform_t *lf, enum OBTYPE spellid, char *racestr);
int getmpcost(lifeform_t *lf, enum OBTYPE oid);
- [+] 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 getmrdiff(enum OBTYPE spellid, int power);
* [+] 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
enum OBTYPE getrandomspell(int maxlev);
enum OBTYPE getrandomspellfromschool(enum SPELLSCHOOL school, int wantlev);
- [+] remove "inscribe" spell for now. - [+] beginner perception should let you see next to you. - [+] fix trail directions when checking stairs - [+] make labyrinth vault be a proper labyrinth shape - [+] 'spark' should affect floor obs even if there is a lf there. - [+] cursed scroll of awareness should blind you for 10-20 turns. - [+] bug: monsters trying to flee through locked drainage grate.s - [+] new god: Bjorn the battlelord - [+] Pray effects: - [+] bless weapon - [+] bezerk - [+] true strike - [+] haste - [+] Likes: battles (ie. kill last enemy in lof) - [+] Dislike: - [+] calming - [+] poison - [+] magic (wands, spells etc) - [+] retreat (moving away with back turned) "Coward!" - [+] gifts: - [+] weapons, armour - [+] sacrifice: - [+] untouched battle spoils - [+] after dropping objects, add f_battlespoils if YOU killed the ownert. - [+] remove this if/when the object gets moved again - [+] splatter blood - [+] minor anger: - [+] rust your armour / weapon - [+] major anger: - [+] destroy your armour - [+] destroy your weapon - [+] summon lots of enemies - [+] new god: Lumara - fem, magic - [+] likes: - [+] most things which train magic skills - [+] ie. casting spells - [+] using wands - [+] reading scrolls - [+] dislikes: - [+] missile weapons - [+] pray: - [+] restore mp if low - [+] identify books/scrolls - [+] remove curses - [+] gift: - [+] spellbooks - [+] manuals of spell schools - [+] extra mp - [+] angry minor: - [+] lose mp - [+] forget a spell - [+] angry: - [+] spells stop working (100% failure chance) - [+] forget all spells - [+] polymorph you into something bad - [+] sacrifice - [+] weapons / armour
2012-01-25 20:20:15 +11:00
enum SPELLSCHOOL getrandomspellschool(lifeform_t *wantknowntolf, int wantknown);
enum SKILL getschoolskill(enum SPELLSCHOOL ss);
- [+] prevent 'A' (forceattack) behind you - [+] replace: - [+] Something critically savages your body. Your uncursed suit of ring mail protects you. Your suit of ring mail is damaged! - [+] with: - [+] Something critically savages your suit of ring mail. - [+] Your suit of ring mail is damaged! - [+] tremorsense shouldn't see flying creatures - [+] rename blink to "bamf" - [+] add F_containsmeat for non-vegetarian foods - [+] use this in vegetarian checks instead of mt_Flesh - [+] "what goes up" spell - [+] "equal and opposite" spell - [+] why didn't cyborg ninja start with weapon weilded? - [+] getbestwepon - accuracy was counting for too much. have changed calculation. - [+] why is wizard's staff not enchanted??? - [+] elephant race - Pachyon or Mammoan - [+] bonus - [+] Leather skin - [+] str++ - [+] photo mem - [+] high listen skill - [+] good smell - [+] penalty - [+] slow movement - [+] no armour on ears - [+] agi- - [+] low eyesight - [+] vuln to sonic - [+] vegetarian - [+] other - [+] large - [+] throw salt to blind targets - [+] if you learn a new spell school skill while game is in progress, gain a 1st level spell too. - [+] for random roast meat, always use base race - [+] ie. orc, not "elite orc" - [+] (ie. human, not 'town guard') - [+] remove "prepare food" skill. - [+] use "cook" instead - [+] startskill should be a modifier, not absolute. - [+] ie. elf can have sk_ranged, so can hunter. these will now stack. - [+] chance for ai to use a firearm is lowered based on firearm accuracy - [+] bug: massively high amount of skillxp needed for a point - [+] firearms should do more damage at pointblank range. - [+] icicle bugs - getrandomadjcell for knockback failing - [+] still a bug with firearm accuracy updating - [+] 2 squares away, move towards enemy - it doesn't update! - [+] display all valid hits in brown - [+] wear melted wax in ears to reduce sonic damage - [+] ranged skillls - [+] adp - [+] fast reloading - [+] exp - [+] fire through lifeforms! lof_wallstop instead of lof_need - [+] mas - [+] extra dam. - [+] object HP issue: - [+] head: b - an uncursed helmet [AR:3] [110%] - [+] body: c - an uncursed suit of ring mail [AR:6] [173%] - [+] hands: d - an uncursed battered pair of gauntlets [AR:2] [86%] - [+] are objects taking negative damage?? - [+] have put an assertion in to check - [+] wait for it to happen again... - [+] add hitchance to askcoords when throwing/shooting - [+] code it - [+] test for throw - [+] add for telekeniis too - [+] add for guns: - [+] "targetted: something [x%]" - [+] "bow->Target->xxx [x%]" - [+] show gun target on botl - [+] redo throw accuracy: - [+] 100 to hit yourself - [+] apply per-cell penalty based on: - [+] throwing / ranged skill (more) - [+] AGI (lesser) - [+] wetsuit description not showing dtresist cold!! - [+] hunter job - [+] wetsuit (covers multiple body parts), prot from cold - [+] announce bleeding damage from injuries - [+] only mark _weapons_ as 'tried' when weilding them - [+] change random items: - [+] fix wantrr bug - [+] test... - [+] new function: enum RARITY pickrarity() - [+] check for all wantrr = xxx and use pickrarity instead. - [+] give classes a RR_RARITY - [+] common - [+] weapon / armour / money / missile - [+] furniture - [+] misc - [+] rock - [+] uncommon - [+] potion / scroll / food - [+] rare - [+] trap - [+] tech/tool - [+] dfeature (pentagram, vending machine, etc) - [+] vrare - [+] wand - [+] ring - [+] book * [+] rewrite wrappers * [+] marge getrandomobofclass and getrandomob - [+] bug: telling allies to attack something they can't see. need a msg for this. - [+] Norman->Attack->A young hawk [flying, facing NE] - [+] Cancelled. - [+] bug: allies not regaining hp when asleep! fixed. - [+] you can now always 'see' your allies if you have LOH - [+] ie. scannedcell - [+] ie. cansee - [+] player luck should cause better random item creation, and easier monsters - [+] pickrr() needs arg to say what it is for (vault , ob, lf) - [+] meals have special effects. eg: - [+] easy: - [+] mushroom + water = mushroom soup = restore a little stamina - [+] tomato + water = tomato soup = restore a little stamina - [+] apple + stone = fruit juice (don't kill the stone) - [+] cheese + bread = cheese sandwich = restore all food and stamina - [+] rum + chocolate = rum ball = cure pain, restore some hp - [+] med: - [+] corpse + water + salt = jerky - [+] mushroom + water + beef = beef strogonoff = filling, temporary Fitness boost - [+] garlic + bread + clover = garlic bread = produce stench like a trogolodyte - [+] bread + meat + tomato = hot dog = temporary strength - [+] water + sugar + 2 berries = potion of red cordial = speed boost - [+] hard - [+] peanut + stone + salt + bread = peanut butter sandwich = super filling, restore all stamina, temp fitness boost - [+] rum + chocolate + sugar + berry = fruit cake = restores all stamina and hp and mp - [+] implement recipe_t - [+] int ningerdients - [+] enum OBTYPE ingredient[MAXINGREDS] - [+] int count[MAXINGREDS] - [+] int cosumeingredient[MAXINGREDS] (boolean) - [+] makedesc_ob should show the recipe for it, if cooking skill is high enough - [+] cooking skill determines how many ingredients you can use - [+] ie. beginner = you can make recipes which need 2 ingredients - [+] redo "cook" ability. - [+] can combine ingredients using recipes to make meals - [+] ingredients must be known! - [+] chef job - [+] attr - [+] gtaverage agility - [+] low fitnesss - [+] objects: - [+] meat cleaver (slashing, low acc, high crit) - [+] apron (rubber, low protection) - [+] chef hat (cloth, low protection) - [+] butane torch (flambe on adjacent lifeform) - [+] abilities - [+] rage at lv3 * [+] skills - [+] chef job - [+] attr - [+] gtaverage agility - [+] low fitnesss - [+] objects: - [+] meat cleaver (slashing, low acc, high crit) - [+] apron (rubber, low protection) - [+] chef hat (cloth, low protection) - [+] butane torch (flambe on adjacent lifeform) - [+] abilities - [+] rage at lv3 * [+] skills
2011-11-15 05:21:40 +11:00
enum SPELLSCHOOL getskillschool(enum SKILL skid);
- [+] young hawk moving very slowly? was healing. - [+] make monsters heal faster when resting - [+] make pet rest when you do - [+] allow 'R' to heal allies - [+] F_RESTUNTILALLIES - [+] mindless/animal mosnters won't throw things - [+] announceflag for attrset not working * [+] feeblemind spell - reduces intelligence to ANIMAL. - [+] ai: if we are carrying too much, drop something (non-weapons/armour first) - [+] teleport spell should teleport any adjacent allies too. * [+] new 'C'hat commands: * [+] change 'resist elements' potion to 'rum' * [+] notify when pet is low on hp - [+] why could a pirate use a biuckler? * [+] genericise usage of canhaveobmod! - [+] armour mod: blooodstained. adds scary. - [+] CRASH when you have two weapons and catch a glowbug in your flask. * [+] potion of restoration onto frozen axe: - [+] slow spell repeated message: The brown snake looks sluggish. The brown snake is now moving slower. - [+] make you only hear one thing each turn ? - [+] always draw impassable objects on top - [+] special ash - [+] exploding powder - explode in radius 1 around player (including player) - [+] concealing powder - create smoke cloud radius 3 around player - [+] redo levelup logic. - [+] trigger LevUp when you have 'newskillready' - [+] announce when you gain level. - [+] can't gain more experience when LevUp! - [+] only update maxhp/mp from new level after you train - [+] diety can't use abilities. fixed. * [+] when i exit from@S output, statbar isn't redrawn * [+] make SKILLS page show which skills you can learn. - [+] In @s, downline isn't showing the title on the second page of SKILLS... - [+] show POWER in @M spells page - [+] ###--- - [+] show cost RANGE in @M for varpower ones - [+] need getspellcosttext(spellid, power, buf) function - [+] 25-62MP - [+] leftover rubbish chars at end of ---- in doheading() - [+] mosnters should follow you up/down stairs * [+] different poison types - [+] implement tremorsense (like darkvision butrun can't be blinded etc) * [+] implement HIDE ability * [+] Thief job - [+] if you walk into a room and every cell is lit, reveal it all. - [+] auto-learn jump ability with high athletics skill * [+] secret doors - [+] items to spot secret doors - [+] gem of seeing - [+] ENHANCESEARCH - [+] F_SEEINVIS - [+] spell: "reveal hidden" - [+] shows secret doors - [+] removes invisibility - [+] wand of detect hidden - [+] ... casts the spell
2011-04-14 09:44:29 +10:00
char *getspellcosttext(lifeform_t *lf, enum OBTYPE spellid, int power, char *buf);
int getspellduration(int min,int max,int blessed);
2011-03-04 12:22:36 +11:00
int getspelllevel(enum OBTYPE spellid);
2011-03-16 15:45:46 +11:00
int getspellmaxpower(enum OBTYPE spellid);
char *getspellname(enum OBTYPE spellid, lifeform_t *lf, char *buf, int forcepower);
2011-03-16 15:45:46 +11:00
int getspellpower(lifeform_t *lf, enum OBTYPE spellid);
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through "reflexive dodging" ability - [+] first rotation in a turn takes no time - [+] exploit: if you walk diagonally next to a monster, it moves to your previous space! - [+] fix: aigetlastknownpos should return the cell that trails point to, not the cell _with_ the trails. - [+] only recognise weapon quality (masterwork etc) if you are skilled in that weapon or perception - [+] cope with mosnter necromancers, etc - [+] parserace should look for necromancer etc. - [+] if so, set "wantsubjob" to SJ_NECROMANCER etc - [+] move specialty mage code into "givejobspecialty" - [+] Make wizard's job name depend on primary spell school. - [+] "Demonologist", "Firemage", "Icemage", "Necromancer", "Skymage", "Wizard" (wild) - [+] instead of getjob() then j->name, use "getjobname(lf)" - [+] f_jobname - [+] i should never "hear voices chanting" from an abandoned temple - [+] for monsters, show "its bite inflicts poison" in io.c racial knowledge - [+] casting healing on myself pleased Glorana twice! - [+] one from casting a life spell - [+] one from casting healing. - [+] move ones from spell.c to castspell() - [+] new flag: f_pleasesgod v0=godid, v1=howmuch - [+] add to other spell objects: - [+] f_pleasesgod - [+] GODFIRE - spelllevel * 2 - [+] GODDEATH = spelllevel - [+] GODLIFE = spelllevel*2 - [+] GODNATURE: spelllevle*2 - [+] show this in describespell - [+] for god healing effects, use gainhp() so that it says "Your HP is fully restored." - [+] change F_RESISTMAG to be percentage rather than 1-20 - [+] make some gods' pleasure boost power of related spells - [+] 1 per each positive levle of getpietylev() - [+] glorana: life - [+] hecta: death - [+] only apply auto shortcuts for players. - [+] subjob_t - [+] addsubjob() - [+] killsubjob() - [+] show subjobs in job descriptions. - [+] data.c: addsubjob(.... - [+] in job defs: - [+] f_canhavesubjob sj_xxx - [+] use this to determine whether to ask about them - [+] redo getjobname - [+] remove f_job->Text - [+] speak with dead should only work on corpses of races which can talk. - [+] warrior subclasses - [+] "Scourge" - [+] gains magic resistance as you level up - [+] == 5 + (level * 3) % - [+] nospells - [+] no mana - [+] paladin - [+] blessed gear - [+] can will turn undead - [+] healing magic - [+] god = glorana. - [+] cannot use spells if glorana is angry. - [+] battlemage - [+] starts with one spell school (fire/ice/air) - [+] canlearn fire/ice/air spell schools - [+] limited to adept in all schools - [+] slightly less hp - [+] no warrior abilities
2012-02-24 17:45:23 +11:00
int getspellpowergodmod(lifeform_t *lf, enum SPELLSCHOOL school, enum RACE *godid);
int getspellpowerstatmod(lifeform_t *lf, enum SPELLSCHOOL school, enum ATTRIB *att);
2011-03-04 12:22:36 +11:00
enum SPELLSCHOOL getspellschool(enum OBTYPE spellid);
* [+] bug: secret doors revealed when we walk away from them. - [+] make lamps last heaps longer * [+] web spell * [+] spider monstrer * [+] funnelweb: * [+] redback: - [+] if you are wracked with pain, don't clear msg - [+] check rarity for spiders * [+] attack/defense mod if there is stickiness in your square - [+] replace "sticky" with "restrictive" * [+] make some mosnters start hidden - [+] adjust spot checks basd on distance - [+] ensure that attacking stops you hiding - [+] casting spells stops you from being hidden - [+] hidden mosnters shouldn't move unless their victim is ADJACENT. - [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless their victim is ADJACENT. - [-] XP CALC - [+] funnelweb and redback are the same. - [+] check this is right...... i want funnel web to be worse. - [+] make hitconfer check in calcxpval take lifetime into account - [+] ALSO assign an xp rating to each hitconferred flag. - [+] hardcode this. * [+] entangle spell - [+] reveal secret doors if you see them get damaged. * [+] make askcoords list restrivitce objects - [+] ACTUALLY make vines not damaged by struggling * [+] object descriptions, a/an needs to change if showing condition: "a battered entangling vine" - [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't happen! - [+] The human diety reads a blessed scroll of create monster! -- but nothing happens?? * [+] throw code - [+] wizard: ask for school specialty at start, from: fire, ice, xxx ? You get this + WILD. - [+] describe varpower spells - [+] fix mp cost for varpower spells - [+] we're not stopping running at staircases anymore for some reason. - [+] CHARGE ability (like swoop but don't return to original positino) - [+] need to honor f_canlearn when displaying new skills to learn! - [+] ai: if we are going to player's last known loc (via targetcell), abandon if we can SEE the player! - [+] make shatter() into a function - [+] oil potion makes oil puddle whan smashed - [+] make flammable objects be able to convert to others - [+] replace 'magic item usage' with 'channeling' - [+] a cloud of darkness descends. this is a *cursed* wand of light. - [+] spiders shouldn't be able to be stuck in a web! * [+] spells should be able to have MULTIPLE schools. - [+] don't bleed into walls - [+] in @M, use colours to show which spells are too hard so far (ie cost > maxmp) * [+] in @M, use schools that you know * [+] after loading game, barbarian is getting an extra attack? You miss the eyebat. You punch the eyebat. - [+] show objects on top of stairs - [+] stuck mosnters must pass a saving throw to follow you up/down stairs - [+] genericise: trytomove(lf) * [+] add more snakes - [+] undead can't eat or drink? or MOST undead can't. * [+] why can MONSTERS shoot webs through things? (but I can't) - [+] barkskin - doesn't reduce max mp enough? - [+] The skeleton touches a fuming aqua potion [tried] then recoils in pain! The skeleton drops a blessed fuming aqua potion [tried]. The skeleton drinks a fuming aqua potion! - [+] why can't i use abilites anymore? - [+] infinite loop bug due to ai only having one ignorecell. - [+] make sleet storms rust all armour - [+] make a kind of walkdam that hits armour - [+] add this as well as walkdam for: acid, fire, water - [+] Takeoff isn't prompting properly. only showing weapons! * [+] waterproof obs (ie cloak) * [+] walkdambp doesn't hurt body if you have a cloak NATURE SPELLS: - [+] mending, heals 1d6 damage - [+] spark - [+] purify food - [+] sticks to snakes - [+] calm animals (power_d4 hd) * [+] charm animal (works on one animal up to power hit dice, temporary) - [+] airblast - [+] barkskin (power +2 AR, firevuln, ongoing) - [+] soften earth (makes ground into mud) - [+] warp wood (damages wooden objects) - [+] repel insects - [+] reduce poison - [+] web - [+] windshield - [+] call lightning, air - [+] resist elements, ongoing - [+] passwall - [+] poisonbolt - [+] quench (puts out a fire) - [+] sleet storm (lowers movement, vision) - [+] healing - [+] cure poison * [+] calming scent - [+] dig - [+] entangle - [+] levitate - [+] flamepillar - [+] hailstorm. like sleetstorm but hurts more. power d 6. - [+] burning wave - [+] gaseous form * [+] knowledge skills: * [+] force makespellchoicelist() to show spells in level order. * [+] druid - [+] check OBJECT rarity list (dumplev) - [+] fix bug where heaps of books suddently appear from dlev 3 onwards - [+] gain skills on level up for some jobs - [+] f_levspellschool, v0=lev, v1 = school or ANY - select one from that school
2011-04-23 14:27:42 +10:00
enum SPELLSCHOOL getspellschoolknown(lifeform_t *lf, enum OBTYPE spellid);
* [+] bug: map structure being corrupted. - [+] reduce hardness values * [+] problem with skills: as you level up , you learn them less often * [+] throw objects to set off traps - [+] combination strike ability at expert wep level - [+] reduce skill bonus to sc_stealth and sc_search - [+] modify descriptions for all spells to explain the effect of spell power - [+] make chill work more like frostbite (but less powerful) - [+] make beginner skills still only cost 1. above there thye csost more - [+] modify cha check based on remaining hp% (ie. less attractive if you're bleeding everywhere!) - [+] am i getting all level up skill messages? don't think i saw "you can now detect magic" as a wizard. - [+] can use "more()" more often now that it checks strlen(msgbuf) first. - [+] make askchar etc call more() first. - [+] falling over should lower your visrange. - [+] missile size should impact how hard it is to catch it - [+] backstabbing doesn't seem to work..... fixed now ? - [+] all non-movement actions should stop sprinting. Cold spells: - [+] l1 - glaciate (turns water to sheets of ice) - [+] l1 - snowball (minor cold damage in a ball, 1 to all) - [+] l2 - e "train" to train skills or go up a levle, instead of 'R'. - [+] better way to learn spells (without spellbooks) - [+] transcribe from scrolls using "study scroll"ability - [+] sc_learnmagic - [+] (int/2) + yourlevel + sorceryskill + BONUS:(spellskill*2) - [+] difficulty is 20 + spelllevel*3 - [+] you lose the scroll even if it fails - [+] same for learning from a spellbook! - [+] but difficulty is 15 + sorceryskill + spelllevel*3 - [+] make pea soup be targetted. ie. make mist on top of your enemy, not you! - [+] implement maximum level in f_canlearn. - [+] wizards - short blades at novice. - [+] limit spell skills for some other classes? ce shield? creates a shield
2011-08-31 06:10:43 +10:00
enum SKILLLEVEL getspellskill(lifeform_t *lf, enum OBTYPE spellid);
int getspellrange(lifeform_t *lf, enum OBTYPE spellid, int power);
- [+] weapon skill of sk_skilled or high gives you a chance to block some damtypes - [+] BUT each weapon can only block certain damtypes (whereas shields can block all melee damtypes) - [+] add f_canblock to some weapons - [+] add f_canblock to shields - [+] check_for_block() should be a function - [+] getallshields() - [+] move othermod in SC_SHIELDBLOCK out of skillcheck(). calculate the bonus beforehand instead?? - [+] update descriptions for weapon skills - [+] can only block if you have full attrib requirements for this weapon - [+] update io.c to show what weapons/shields can block. "it can block xx, xx and xx damage" - [+] weapons can't ever block projectiles - [+] make pickup/drop actions heaps faster - [+] better description of agi/str affecting weapon accuracy/dam - [+] stinkbeetle should be hostile, and should have bite attack ,not zapper - [+] don't recover stamina while training - [+] add seetext for "a blaring siren" - [+] draw up a matrix for weapon types - [+] draw it up for: - [+] accuracy - [+] damage - [+] attack speed - [+] crit chance - [+] then adjust weapon stats - [+] in shops, "?" now lets you examine an object - [+] add canwill option for abilities: "stamcost:" (to override stamina cost) - [+] add it. - [+] bug: pickaxe not working - [+] "you start digging". but nothign more. - [+] salt kills: - [+] frog - [+] impaler frog - [+] canwill jump - [+] ranged tongue attack - [+] killed by salt - [+] BUG; getting manuals with no contents - [+] odd-sized armour should cost more. - [+] need to set statdirty when we change armour. - [+] when we say "you see x and y here", don't include obs we can't see
2011-12-13 03:40:17 +11:00
int getstamcost(lifeform_t *lf, enum OBTYPE oid);
char *getspelldesc(enum OBTYPE spellid, int power, char *buf);
- [+] 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 getworkablematerials(lifeform_t *lf, enum SKILL skid , enum MATERIAL *repairablemats, int *cutoffpct, int *nmats);
object_t *getworkhelpob(obpile_t *op, enum MATERIAL mat);
2011-02-01 06:16:13 +11:00
void pullobto(object_t *o, lifeform_t *lf);
2011-05-20 06:30:58 +10:00
int schoolappearsinbooks(enum SPELLSCHOOL ss);
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
void spellcloud(cell_t *srcloc, int radius, int ch, enum COLOUR col, enum OBTYPE sid, int power, int frompot, char *seetext, char *noseetext);
- [+] add autopop to playerstart vaults - [+] rename magic skills: Magic:Cold - [+] bug: infinite loop in poison arrow trap - make sure the arrow always dies. - [+] bug: c4 didn't kill iron door - [+] implement stamina (float). max is Fit/2 * [+] in startlfturn: - [+] sprinting drains this. - [+] ...then stop using f_sprinting for exhausted - [+] ...and remove f_tired - [+] if exhausted, stop sprinting. (in modstamina) - [+] change crushed windpipe - [+] f_stamcost for abilities. - [+] modify cancast. - [+] tumbling - [+] jumping - [+] rage - [+] swimming - [+] drains stamina like sprinting - [+] if stamina drops to 0, you start drowning. - [+] new spell: lethargy (sets stamina to 0) - [+] if a sleep spell fails, use lethergy instead. - [+] no attacking while stam = 0 ??? - [+] need to update statbar right away when casting ongoing spells. - [+] bug: reading an awareness scroll counting as an active spell! - [+] genericise magic resistance check into a function - [+] "disorient" - l1 mental spell which randomly turns lf, someitmes makes them dizzy - [+] change stun - just means you can't attack, cast spell, use abils * [+] AI shouldn't look for targets if stunned or no stamina * [+] why do mosnters end up facing -1 (d_none) ?? - [+] turn undead problem. - [+] The skeleton turns to flee from you! The skeleton bites you. - [+] crit which spins you around (bash to body) - [+] say "you attack xxx from behind" when you ar ebehidn them and they can't see you - [+] or "you attack the helpless xxx" when thye just can't see you - [+] genericise sacrifice text - [+] fix up weight of heads (8% of body mass) - [+] make attribss do more: - [+] iq: determine how soon you learn new skills (ie. modify SKILLXPPERPOINT) - [+] fit: determines stamina points. - [+] wisdom >= AT_HIGH - [+] warn before wearing/eating/drinking/weilding unknown bad/cursed objects (low chance) - [+] use isbadobject() - [+] chance: - [+] high = 10% - [+] vhigh = 30% - [+] exhigh = 50% - [-] idea: sacrifice to gods to make them happier - [+] mercy: weapons - [+] death: any corpses - [+] thieves: gold
2011-09-15 08:42:54 +10:00
int spellisfromschool(int spellid, enum SPELLSCHOOL school);
int spellresisted(lifeform_t *target, lifeform_t *caster, int spellid, int power, int *seenbyplayer, int announce);
- [+] 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 stopspell(lifeform_t *caster, enum OBTYPE spellid);
int stopallspells(lifeform_t *lf);
int stopallspellsexcept(lifeform_t *lf, ...);
- [+] ob1() macros - [+] healing potions should heal even "permenant" injuries - [+] potions/spells - [+] summon decoy (chicken horde) spell - "friends!" - [+] potion of spider climb (arachnid adhesion) - [+] gloves of the spider - [+] F_startobwepskill sk_shortblades etc - [+] change mosnter starting weapons to be based on wepsk, not specific named weapons - [+] make wrapprint cope properly with 0 length strings - [+] fix io.c showlfstats layout - [+] fountains of xp should always dry up after one use! - [+] plants shouldn't leave footprints! - [+] fix overcomplicated code in updateknowncells - [+] you always "see" allies following you down/up stairs, even if they are behind you. - [+] remove dtresist slash from skeletons - their bone skin reduces this already. - [+] leave dtresist pierce because it's hard to hit them. - [+] confirm gold amount when donating to shops - [+] increase piety by half of any gold donated to temples - [+] move hp, mp, sp to same line as target, and make them into bars - [+] HP:[ 11 / 11 ] - [+] makebar(window,min,max, loss,barcol, losscol) - [+] print the prefix: "HP:[" - [+] construct the bar string to fit into 10 chars: " 11 / 11 " - [+] print it one char at a time, setting bg as follows: - [+] background: - [+] 0 - min is barcol - [+] min+1 - min+loss is losscol - [+] rest is black - [+] print the suffix: "] " - [+] remember last dam amount for hp. - [+] show mp and stamina like this too. - [+] update viewpoint sooner when moving vertically - [+] if you can't comprehend the contents of a spellbook, don't ID it! - [+] hpbar: pass textcol and texcolwithbg - [+] show f_stability in @e - [+] don't identify tech inside shops if it's beyond your skill level - [+] bug: "a cursed +-1 ring of dexterity" - [+] enraged or deaf lfs shouldn't respond to chats - [+] drawbar: show mp/sp text in orange if it's at 0. - [+] allow vegetarians to eat frozen corpses. - [+] anything flying + stunned loses flying. - [+] chance for monsters to throw missiles is reduced when acc < C - [+] use same code as firearms - [+] undead shouldn't lose consciousness - they should jsut die.
2011-12-06 04:03:47 +11:00
int summonlfs(lifeform_t *caster, cell_t *where, enum RACE wantrace, enum RACECLASS wantrc, enum LFSIZE wantsize, enum ALIGNMENT wantalign, int howmany, int lifetime, int friendly);
lifeform_t *validateabillf(lifeform_t *user, enum OBTYPE aid, lifeform_t **target);
- [+] implement getradiuscells() - [+] evaporate spell - turn water into steam - [+] monster generation bug? even on dlev10 i'm stil getting mostly kobolds - [+] ai infinint eloop again - frost hawk trying to open door - [+] another infinite loop - not falling through after spell failure. * [+] reduce attack delay for most weapons. - [+] letplayer see a tiny bit in the dark (1 cell ?) - [+] beginner tracking not working - fixed. - [+] only show "...but do no damage" if you have good knowledge about their race. - [+] make gold lighter * [+] footprints glyph shouldn't override pudles of water! - [+] only show eviscerate etc if you have good knowledge? - [+] don't start monsters on the stairs/magical barriers!!! - [+] stone should be immune to more damage types * [+] addexits adding way too many exits. - [+] blessed identify should ID everything - [+] blessed mending mends all - [+] don't make noise when slowmoving. - [+] eyebat dispersal big: The eyebat's strong scent leading north disappears! - [+] go over footprint+scent+corpse and pickup:"You can't pick up footprints!" * [+] doors can't do on top of each other!!! * [+] low ground - [+] make sure you can't have more than one "water" object in a cell. * [+] make val2 of rarity be "common/uncommon/rare" etc - [+] more monster types should appear in the forest. - [+] when i go down stairs into a dark area, "it is pitch black!" is being cleared. * [+] helm of the poltergeist - [+] flying creatures get penalties in webs etc - [+] blind things shoudln't follow up/donw stairs - [+] You shout a blood-curdling war cry! The sawgrass turns to flee from you! - [+] potions still worth too much. minor healing was 420!! - [+] AI should only go towards covetted object if it's closer or the same distanec as target. - [+] branded objects should be worth LOTS - at the moment they're worth 1!! * [+] maybe just adjust value of rarity? - [+] don't roll spot checks while training! * [+] replace f_nofeel with: - [+] revenge did too much damage (50) * [+] change how AR works - [+] need to add: "really walk into a falling rock trap" ? - [+] put only ONE staircase going up on dlev 0 - [+] why am i stopping sprinting after 1 move? * [+] somehow make sure mosnters can't see footprints in a cell with mist - [+] bones shouldn't be able to catch on fire. - [+] when you levle up, gainskill BEFORE getting new spells - [+] put out flaming objects after pickup * [+] don't say "really target yourself?" when using a potion of sleep!! - [+] enhance a random skill when levelling up? every 2 levels? - [+] weaken koboldsa little - less change of javelin - [+] don't drown instantly - take a few turns, depending on CON * [+] create vault spell for debugging ??? - [+] doors in the middle of rooms. - [+] highlight selected choice in askstr - [+] flooded_room being created without walls!!!!!! - [+] describe spell from levleup not working * [+] GETROOMEDGE RETURNING NO CELLS for circularroom!!!!! - [+] fire wizard not prompted to get firedart at l2.. Vaults * [+] X corridor - - [+] crosshatch - [+] should water be ~ instead ?? and change whatever is currently a tilde to something else... Initial work on goal: - [+] surround all stairs with barriers - [+] start player NEAR stairs (randomadjcell from stairs, allowexpand) + methods of escape - [+] knock scroll - [+] digging (but it stops the dig from going any further)
2011-06-09 18:58:35 +10:00
cell_t *validatespellcell(lifeform_t *caster, cell_t **targcell, int targtype, enum OBTYPE spellid, int power, int frompot);
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
//lifeform_t *validatespelllf(lifeform_t *caster, lifeform_t **lf);
2010-12-07 18:34:26 +11:00
#endif
2011-02-01 06:16:13 +11:00