nexus/ai.c

2108 lines
55 KiB
C
Raw Normal View History

2010-12-02 12:17:54 +11:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
2010-12-02 12:17:54 +11:00
#include "ai.h"
2011-02-01 06:16:13 +11:00
#include "attack.h"
2010-12-02 12:17:54 +11:00
#include "defs.h"
#include "flag.h"
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
#include "god.h"
2011-02-01 06:16:13 +11:00
#include "io.h"
2010-12-02 12:17:54 +11:00
#include "lf.h"
#include "map.h"
2011-02-01 06:16:13 +11:00
#include "move.h"
#include "nexus.h"
2010-12-02 12:17:54 +11:00
#include "objects.h"
2011-02-01 06:16:13 +11:00
#include "spell.h"
#include "text.h"
2010-12-02 12:17:54 +11:00
extern lifeform_t *player;
2011-02-01 06:16:13 +11:00
extern enum ERROR reason;
2010-12-02 12:17:54 +11:00
int wantdb = 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
void addignorecell(lifeform_t *lf, cell_t *c) {
if (c) {
addflag(lf->flags, F_IGNORECELL, c->x, c->y, NA, NULL);
}
}
* [+] 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
// returns true on failure
int aiattack(lifeform_t *lf, lifeform_t *victim, int timelimit) {
int db = B_FALSE;
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
int innocentattack = 0;
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
flag_t *f;
if (lfhasflag(lf, F_DEBUG)) {
db = B_TRUE;
}
// mindless?
* [+] 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 (getattrbracket(getattr(lf, A_IQ), A_IQ, NULL) == IQ_MINDLESS) {
if (!isundead(lf)) {
* [+] make vending machines use this container code instead. - [+] don't say "you see a few things" if one of them is footsteps * [+] IFMONSTER code failing....because flags are now SORTED!!! - [+] tumble - askcoords is letting us pick a cell we don't have lof to. * [+] assign a name to lfs once you hire them * [+] coloured msgtext - [+] make min dam reduction from AR be AR/5. - [+] safebox - [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with no getsweaker (val1) * [+] make fire / ice damage mor elike netheck - [+] towns should have gates on EVERY side - [+] forest cells outside town gates need to be CLEARED. (maybe turn to dirt) - [+] fix up knock targetting to include magical barriers - [+] say "open a bag?" not "operate a bag?" * [+] implement immunetodisease - [+] sort known skills in @s. - [+] better damage bonus when attacking someone who is asleep - [+] practive firearms/throwing * [+] need objecttype->size * [+] containers * [+] change guns so you have to reload them. ("operate") - [+] crash when loading map with water - [+] SAVE OBJECT CONTENTSk - [+] monsters with jobs aren't getting start items - [+] shopkeeper has shotgun - [+] bug: monster keeps swapping between shotgun and flail - [+] when hiring, remember failure. * [+] Inn - [+] bug: pets fighting!!! then they all turn on you. never make allies get angry unless the attacker is the player * [+] hiring npcs - [+] chat to pet: "stay close" or "keep your distance" - [+] new 'furniture' obclass - [+] allow for 'randomshop' regiontype * [+] add enchantment school - [+] cast a scroll of mending on itself. CRASH. * [+] lessengravity should make you jump better and get knocked back further - [+] boostgrav/lessengrav cancel out each other. * [+] CRASH when you fall down a hole and die. - [+] problem: master gravitation doesn't let us cast levitat. getspellschoolknown() should return the HIGHEST known skill, not the first. * [+] bug: dregion is null?!??! * [+] dig a pit, if you cleared out land below, you just stay down there. - [+] potion of leveitation - [+] warning msg when levitate is about to expire * [+] if you fall upwards to the surface... * [+] if you are ever on the surface while levitating.... - [+] BUG: cna't go up stairs to surface anymore!!!!! - [+] get hungry LOTS more quickly when you start sprinting * [+] monk slow metabolism psionic pell. - [+] fix buf with lore giving LESS accuracy instead of more. - [+] food shop - [+] wand of digging not identified if you dig upwards * [+] when you make ah ole in the roof, objects above should fall through right away * [+] all towns should have: - [+] give monks more psionics spells. - [+] sk_throwing skill - [+] make calm animals use spellpower * [+] add wisdom * [+] need to save region data along with maps * [+] COMBINE armour evasion and accuracy penalty!!! * [+] make armour reduce accuracy as well (unless you have 'armour' skill) - [+] landmine trap * [+] make friendly monsters of same raceclass swap ammo - [+] rename 'pull' to 'suck' to avoid confusion with pull metal * [+] food to fix blindness - [+] potion of coffee * [+] genericise statbrackets * [+] tumble ability * [+] simplify spell power * [+] shopkeeprs should be allowed to pursue targets outside of the shop. - [+] give shopkeepers a shotgun * [+] make F_RNDHOSTILE be able to ahve a random chance. * [+] if you randomly generate food in a shop, still give it a price. - [+] if peaceful humanoid walks into you, "sorry!" - [+] sayphrase(lf, SP_SORRY, vol) - [+] only let you recruit jobs with j_recruitable - [+] CRASH - summon "monk" - [+] dogs, - [+] chickens, - [+] drunks, * [+] village objects - [+] change armourrating AGAIN. instead of a percentage, make it a number. - [+] rename inn to "pub", since you can't sleep there. * [+] random speech code * [+] genericise sayphrase text based on lf's job * [+] monks - add rest of abliities - [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
return B_TRUE;
}
}
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
// already targetting this 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
f = lfhasflagval(lf, F_TARGETLF, victim->id, NA, NA, NULL);
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if (f) {
if ((f->lifetime > 0) && (f->lifetime < timelimit)) {
f->lifetime = timelimit;
}
* [+] 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
return B_TRUE;
}
// feigning death?
if (lfhasflag(victim, F_FEIGNINGDEATH)) {
int penalty;
penalty = (getcelldist(lf->cell, victim->cell)-1);
if (penalty < 0) penalty = 0;
penalty *= 3;
if (!skillcheckvs(lf, SC_WILL, -penalty, victim, SC_WILL, 0)) {
dblog(".oO { attempted target fooled me with feign death. ignoring. }");
return B_TRUE;
}
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
}
if (db) {
char lfname[BUFLEN],vicname[BUFLEN];
getlfname(lf, lfname);
getlfname(victim, vicname);
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
dblog(".oO { %s setting new target: %s }", lfname, vicname);
}
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
killflagsofid(lf->flags, F_TARGETLF);
killflagsofid(lf->flags, F_TARGETCELL);
if ((timelimit == PERMENANT) || (timelimit == UNLIMITED)) {
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
addflag(lf->flags, F_TARGETLF, victim->id, victim->cell->x, victim->cell->y, NULL);
} 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
addtempflag(lf->flags, F_TARGETLF, victim->id , victim->cell->x , victim->cell->y, NULL,timelimit);
}
// tell the player
if (cansee(player, lf)) {
makenoise(lf, N_GETANGRY);
}
// become hostile?
2011-08-18 06:57:43 +10:00
if (isplayer(victim) && !hasflag(lf->flags, F_HOSTILE) ) {
addflag(lf->flags, F_HOSTILE, B_TRUE, NA, NA, NULL);
2011-08-18 06:57:43 +10:00
//innocentattack = 1;
}
// change allegience ?
if (!areenemies(lf, victim)) {
if (getallegiance(victim) == AL_FRIENDLY) {
killflagsofid(lf->flags, F_FRIENDLY);
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
innocentattack = 3;
}
}
* [+] calcxp - [+] more low power rings - [+] don't think book names are being randomized - always 'azure' - [+] charm moidifications - [+] possession modifications - [+] troglodyte being made with 180180108180180 mp!! * [+] gain skills on level up for some jobs - [+] only magic/blessed weapons can hit noncorporeal things. - [+] monsters shouldn't walk into walls to attack things there. - [+] The skeleton slams you with a boulder.--More--Innate Attack: boulder . was a bug in HASATTACK - [+] no polymorphing into undead. - [+] missiles shoudl always miss noncorporeal things! - [+] need OFFMAP as well as WALLINWAY - [+] can't possess undead - [+] less charges in wands - [+] when a thrown potion misses, "xx is destroyed" rather than "xx shatters!" - [+] instead of "act:slow mv: slow", just "slow" - [+] sprinting: "you are exhausted" isn't triggering statdirty - [+] On status, use 'v.fast' 'ex.fast' usbtead if "Very" etc - [+] allies shouldn't attack peaceful things. - [+] make fleeing lfs use stairs - [+] undead can't start with blessed objects. - [+] undead can't touch blessed objects * [+] GHOST * [+] PET code - [+] can't trade items if your ally has NOPACK - [+] make sure shared xp is working * [+] firstaid skill shows extra mosnter hp info * [+] more low power wands - at the moment it's always light or pwoer - [+] pets: say 'your xxx' instead of 'the xxx' * [+] pets: dancing weapons should be pets - [+] need f_allyof as well so that allies will stay close. - [+] difference is that allies aren't called "your" - [+] AND no alignment penalty for attacking allies? - [+] in lfstats, move physical stuff BACK to first page!!! - [+] remove ally/pet flag when you die * [+] pirate job * [+] let firearms go into primary hand. test with PIRATE. - [+] when fighting with a non-weapon: "you whack the xxx with xxx" - [+] add specific attack verbs to weapons - [+] F_ATTACKVERB, dampct between v0 and v1, "stabs" - [+] make showlfarmour() use colours
2011-04-11 15:05:45 +10:00
// no longer a pet
f = lfhasflagval(lf, F_PETOF, victim->id, NA, NA, NULL);
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
if (f) {
2011-08-18 06:57:43 +10:00
if (isplayer(victim)) innocentattack = 3;
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
killflag(f);
}
* [+] 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
return B_FALSE;
}
2011-03-04 12:22:36 +11:00
enum OBTYPE aigetattackspell(lifeform_t *lf, lifeform_t *victim) {
flag_t *retflag[MAXCANDIDATES];
int nretflags;
flag_t *f;
enum OBTYPE poss[MAXPILEOBS];
int nposs = 0;
int db = 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 castok = B_TRUE;
if (lfhasflag(lf, F_DEBUG)) {
db = 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
f = lfhasflag(lf, F_NEEDOBFORSPELLS);
if (f && !hasob(lf->pack, f->val[0])) {
castok = B_FALSE;
}
if (castok) {
int i;
getflags(lf->flags, retflag, &nretflags, F_CANCAST, F_CANWILL, F_NONE);
for (i = 0; i < nretflags; i++) {
f = retflag[i];
if (aispellok(lf, f->val[0], victim, F_AICASTTOATTACK)) {
poss[nposs] = f->val[0];
nposs++;
}
}
}
// select a random one
if (nposs > 0) {
int sel;
* [+] 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 (db) {
char lfname[BUFLEN];
getlfname(lf,lfname);
dblog(".oO { %s i have %d valid spells/abils. using one. }", lfname, nposs);
}
sel = rnd(0,nposs-1);
return poss[sel];
}
return OT_NONE;
}
2011-03-16 15:45:46 +11:00
enum OBTYPE aigetfleespell(lifeform_t *lf) {
flag_t *f;
enum OBTYPE poss[MAXPILEOBS];
int nposs = 0,i;
2011-03-16 15:45:46 +11:00
int db = B_FALSE;
lifeform_t *fleefrom;
flag_t *retflag[MAXCANDIDATES];
int nretflags;
2011-03-16 15:45:46 +11:00
if (lfhasflag(lf, F_DEBUG)) {
db = B_TRUE;
}
f = lfhasflag(lf, F_FLEEFROM);
if (f) {
fleefrom = findlf(lf->cell->map, f->val[0]);
}
getflags(lf->flags, retflag, &nretflags, F_CANCAST, F_CANWILL, F_NONE);
for (i = 0; i < nretflags; i++) {
f = retflag[i];
if (aispellok(lf, f->val[0], fleefrom, F_AICASTTOFLEE)) {
poss[nposs] = f->val[0];
nposs++;
2011-03-16 15:45:46 +11:00
}
}
// select a random one
if (nposs > 0) {
int sel;
sel = rnd(0,nposs-1);
return poss[sel];
}
return OT_NONE;
}
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
// this function assumes that you can't just SEE the target!
cell_t *aigetlastknownpos(lifeform_t *lf, lifeform_t *target, int *lastx, int *lasty, int *lastdir) {
flag_t *f, *tflag, *bestflag;
cell_t *c = NULL;
int besttime = -1;
int i;
// check scent/footprints first
for (i = 0; i < lf->nlos; i++) {
if (hastrailof(lf->los[i]->obpile, target, NA, &tflag, lf)) {
if (tflag->lifetime > besttime) {
besttime = tflag->lifetime;
bestflag = tflag;
c = lf->los[i];
}
}
}
if (c) {
if (lastx) *lastx = c->x;
if (lasty) *lasty = c->y;
if (lastdir) {
// can only obtain direction from footprints if your
// tracking skill is high enough.
if (bestflag->val[2] == S_SIGHT) {
if (getskill(lf, SK_TRACKING) >= PR_SKILLED) {
*lastdir = bestflag->val[1];
} else {
*lastdir = D_NONE;
}
} else {
*lastdir = bestflag->val[1];
}
}
return c;
}
f = ispetortarget(lf, target);
if (f) {
c = getcellat(lf->cell->map, f->val[1], f->val[2]);
if (c) {
if (lastx) *lastx = c->x;
if (lasty) *lasty = c->y;
if (lastdir && strlen(f->text)) {
*lastdir = atoi(f->text);
}
}
return c;
}
if (lastx) *lastx = NA;
if (lasty) *lasty = NA;
if (lastdir) *lastdir = D_NONE;
return NULL;
}
object_t *aigetrangedattack(lifeform_t *lf, enum RANGEATTACK *ra, int *range) {
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 db = B_FALSE;
* [+] fire should set equipped obs on fire too * [+] trapped doors/objcets * [+] make careful walking have less chance of triggering some traps (eg tripwire) - [+] dex penalty when drunk - [+] require dex to put on most shoes - [+] Diety's short sword of pyromania isn't appearing? - [+] make sure i can tumble over traps * [+] able to cut tripwires with slashing/chopping/piercing weapons? - [+] maybe make cmomando have no weapon skill - [+] make armour more common - [+] shouldnt be able to swap place with someone who is sleeping - [+] if you're not in the water, can't see lfs in water (unless they are adjacent) - [+] You break free from the zombie! You reintegrate inside a solid object!--More-- * [+] shopkeepers will charge an extra fee to identify stuff - [+] shouldn't get an empty flask when I dirnk from a fountain! - [+] identify and remove curse scrolls should be COMMON * [+] provide detailed skill descriptions - [+] dumpoutlines() - [+] make minotaurs stay in room - [+] make minotaurs have good smell - [+] don't auotreveal vaults. * [+] should be able to fill flasks from fountains - [+] don't announce corpse decay death while training. * [+] add the initial godstone at the bottom of firstdungeon * [+] make fountains names same as their linked potions - [+] bug: when filling potions from the ground, ground object was never dryaing up Beggars - [+] stealing ability sometimes. run away after using this * [+] various lots of generic f_talktext->"have a coin to spare?" World map - [+] 1-2,1-2: habitat: village - [+] multiple villages - [+] vault: island with treasure (or acid island?) - [+] jump into a water - it splashes small puddles to surrounding cells * [+] let dig spell go up/down. * [+] fountains, random potion effect or water (blue _ or }) - [+] make thingchance and obchance be habitat_t parameters. work on game goal - [+] find a way out of the magical dungeon barriers in the first dungeon - [+] slime - [+] troll = t - [+] lizardman - [+] ogre - [+] kobold - [+] fire sprite - [+] hobgoblin - [+] bugbear - [+] gnoll - [+] giant - [+] zombie - [+] skeleton * [+] ghoul - [+] ghast - [+] can operate spanner to - [+] jam/unjam a door * [+] visibility - [+] initial code for monsters opening doors while giving chase - [+] acid does more damage to armour * [+] implement temporary flags. * [+] implement unknown flags - [+] mana spike - [+] energy bolt - [+] energy blast (hits all in radius) - [+] flash (like flashbang) - [+] telekinesis (open/close doors remotely, grab/throw objects remotely) - [+] mindscan - knoweldge of hp etc * [+] airblast (push obs, push someone very far, AND lose obs. break walls they hit?) - [+] fireball - sets on fire - [+] flamepillar - [+] fire arrow - [+] spark (light a flammable object) - [+] flameburst - 2d8+3 damage in a circle - [+] burning wave - 2d10 damage and set on firea, line towards target - [+] range 3 - [+] freezing touch (turns an object to ice) - [+] knock - opens doors - [+] gas form - [+] polymorph - [+] write on floor - [+] light - [+] weaken (lose str) - [+] poison cloud - change cloudkill to this? - [+] animate dead - [+] posession - [+] minor healing - [+] healing - [+] turn undead - [+] identify - [+] detect magic - [+] detect aura - [+] reveal surroundings - [+] uncontrolled teleport - [+] speed - [+] slow - [+] boost gravity - [+] create monster - [+] divine - [+] wish
2011-07-21 11:43:45 +10:00
enum ATTRBRACKET iqb;
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
object_t *o;
if (lfhasflag(lf, F_DEBUG)) db = B_TRUE;
* [+] fire should set equipped obs on fire too * [+] trapped doors/objcets * [+] make careful walking have less chance of triggering some traps (eg tripwire) - [+] dex penalty when drunk - [+] require dex to put on most shoes - [+] Diety's short sword of pyromania isn't appearing? - [+] make sure i can tumble over traps * [+] able to cut tripwires with slashing/chopping/piercing weapons? - [+] maybe make cmomando have no weapon skill - [+] make armour more common - [+] shouldnt be able to swap place with someone who is sleeping - [+] if you're not in the water, can't see lfs in water (unless they are adjacent) - [+] You break free from the zombie! You reintegrate inside a solid object!--More-- * [+] shopkeepers will charge an extra fee to identify stuff - [+] shouldn't get an empty flask when I dirnk from a fountain! - [+] identify and remove curse scrolls should be COMMON * [+] provide detailed skill descriptions - [+] dumpoutlines() - [+] make minotaurs stay in room - [+] make minotaurs have good smell - [+] don't auotreveal vaults. * [+] should be able to fill flasks from fountains - [+] don't announce corpse decay death while training. * [+] add the initial godstone at the bottom of firstdungeon * [+] make fountains names same as their linked potions - [+] bug: when filling potions from the ground, ground object was never dryaing up Beggars - [+] stealing ability sometimes. run away after using this * [+] various lots of generic f_talktext->"have a coin to spare?" World map - [+] 1-2,1-2: habitat: village - [+] multiple villages - [+] vault: island with treasure (or acid island?) - [+] jump into a water - it splashes small puddles to surrounding cells * [+] let dig spell go up/down. * [+] fountains, random potion effect or water (blue _ or }) - [+] make thingchance and obchance be habitat_t parameters. work on game goal - [+] find a way out of the magical dungeon barriers in the first dungeon - [+] slime - [+] troll = t - [+] lizardman - [+] ogre - [+] kobold - [+] fire sprite - [+] hobgoblin - [+] bugbear - [+] gnoll - [+] giant - [+] zombie - [+] skeleton * [+] ghoul - [+] ghast - [+] can operate spanner to - [+] jam/unjam a door * [+] visibility - [+] initial code for monsters opening doors while giving chase - [+] acid does more damage to armour * [+] implement temporary flags. * [+] implement unknown flags - [+] mana spike - [+] energy bolt - [+] energy blast (hits all in radius) - [+] flash (like flashbang) - [+] telekinesis (open/close doors remotely, grab/throw objects remotely) - [+] mindscan - knoweldge of hp etc * [+] airblast (push obs, push someone very far, AND lose obs. break walls they hit?) - [+] fireball - sets on fire - [+] flamepillar - [+] fire arrow - [+] spark (light a flammable object) - [+] flameburst - 2d8+3 damage in a circle - [+] burning wave - 2d10 damage and set on firea, line towards target - [+] range 3 - [+] freezing touch (turns an object to ice) - [+] knock - opens doors - [+] gas form - [+] polymorph - [+] write on floor - [+] light - [+] weaken (lose str) - [+] poison cloud - change cloudkill to this? - [+] animate dead - [+] posession - [+] minor healing - [+] healing - [+] turn undead - [+] identify - [+] detect magic - [+] detect aura - [+] reveal surroundings - [+] uncontrolled teleport - [+] speed - [+] slow - [+] boost gravity - [+] create monster - [+] divine - [+] wish
2011-07-21 11:43:45 +10:00
iqb = getattrbracket(getattr(lf, A_IQ), A_IQ, NULL);
if (iqb <= IQ_ANIMAL) {
// animal and lower intelligence won't use ranged
// attacks.
if (db) dblog(".oO { no ranged attack due to low iq. }");
*ra = RA_NONE;
return 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
o = getfirearm(lf);
* [+] make vending machines use this container code instead. - [+] don't say "you see a few things" if one of them is footsteps * [+] IFMONSTER code failing....because flags are now SORTED!!! - [+] tumble - askcoords is letting us pick a cell we don't have lof to. * [+] assign a name to lfs once you hire them * [+] coloured msgtext - [+] make min dam reduction from AR be AR/5. - [+] safebox - [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with no getsweaker (val1) * [+] make fire / ice damage mor elike netheck - [+] towns should have gates on EVERY side - [+] forest cells outside town gates need to be CLEARED. (maybe turn to dirt) - [+] fix up knock targetting to include magical barriers - [+] say "open a bag?" not "operate a bag?" * [+] implement immunetodisease - [+] sort known skills in @s. - [+] better damage bonus when attacking someone who is asleep - [+] practive firearms/throwing * [+] need objecttype->size * [+] containers * [+] change guns so you have to reload them. ("operate") - [+] crash when loading map with water - [+] SAVE OBJECT CONTENTSk - [+] monsters with jobs aren't getting start items - [+] shopkeeper has shotgun - [+] bug: monster keeps swapping between shotgun and flail - [+] when hiring, remember failure. * [+] Inn - [+] bug: pets fighting!!! then they all turn on you. never make allies get angry unless the attacker is the player * [+] hiring npcs - [+] chat to pet: "stay close" or "keep your distance" - [+] new 'furniture' obclass - [+] allow for 'randomshop' regiontype * [+] add enchantment school - [+] cast a scroll of mending on itself. CRASH. * [+] lessengravity should make you jump better and get knocked back further - [+] boostgrav/lessengrav cancel out each other. * [+] CRASH when you fall down a hole and die. - [+] problem: master gravitation doesn't let us cast levitat. getspellschoolknown() should return the HIGHEST known skill, not the first. * [+] bug: dregion is null?!??! * [+] dig a pit, if you cleared out land below, you just stay down there. - [+] potion of leveitation - [+] warning msg when levitate is about to expire * [+] if you fall upwards to the surface... * [+] if you are ever on the surface while levitating.... - [+] BUG: cna't go up stairs to surface anymore!!!!! - [+] get hungry LOTS more quickly when you start sprinting * [+] monk slow metabolism psionic pell. - [+] fix buf with lore giving LESS accuracy instead of more. - [+] food shop - [+] wand of digging not identified if you dig upwards * [+] when you make ah ole in the roof, objects above should fall through right away * [+] all towns should have: - [+] give monks more psionics spells. - [+] sk_throwing skill - [+] make calm animals use spellpower * [+] add wisdom * [+] need to save region data along with maps * [+] COMBINE armour evasion and accuracy penalty!!! * [+] make armour reduce accuracy as well (unless you have 'armour' skill) - [+] landmine trap * [+] make friendly monsters of same raceclass swap ammo - [+] rename 'pull' to 'suck' to avoid confusion with pull metal * [+] food to fix blindness - [+] potion of coffee * [+] genericise statbrackets * [+] tumble ability * [+] simplify spell power * [+] shopkeeprs should be allowed to pursue targets outside of the shop. - [+] give shopkeepers a shotgun * [+] make F_RNDHOSTILE be able to ahve a random chance. * [+] if you randomly generate food in a shop, still give it a price. - [+] if peaceful humanoid walks into you, "sorry!" - [+] sayphrase(lf, SP_SORRY, vol) - [+] only let you recruit jobs with j_recruitable - [+] CRASH - summon "monk" - [+] dogs, - [+] chickens, - [+] drunks, * [+] village objects - [+] change armourrating AGAIN. instead of a percentage, make it a number. - [+] rename inn to "pub", since you can't sleep there. * [+] random speech code * [+] genericise sayphrase text based on lf's job * [+] monks - add rest of abliities - [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
if (o && getammo(o)) {
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 (db) {
char gunname[BUFLEN];
getobname(o, gunname, o->amt);
if (db) dblog(".oO { will fire my gun (%s) at target. }",gunname);
}
*ra = RA_GUN;
*range = getfirearmrange(o);
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 o;
}
// do we have a wand we can zap?
if (lfhasflag(lf, F_HUMANOID) || hasbp(lf, BP_HANDS)) {
if (lfhasflag(lf, F_FLEEFROM)) {
o = aigetwand(lf, F_AICASTTOFLEE);
} else {
o = aigetwand(lf, F_AICASTTOATTACK);
}
if (o) {
if (db) dblog(".oO { will zap %s instead of moving }", o->type->name);
*ra = RA_WAND;
*range = getvisrange(lf); // ie unlimited
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 o;
}
}
// can we attack by throwing something?
if (hasbp(lf, BP_HANDS)) {
o = getbestthrowmissile(lf);
if (o) {
if (db) dblog(".oO { will throw %s at my target }", o->type->name);
*ra = RA_THROW;
*range = getmaxthrowrange(lf, o);
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 o;
}
}
if (db) dblog(".oO { found no ranged attack. }");
*ra = RA_NONE;
*range = 0;
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 NULL;
}
void aigetspelltarget(lifeform_t *lf, objecttype_t *spelltype, lifeform_t *victim, lifeform_t **spelllf, cell_t **spellcell, object_t **spellob, enum FLAG purpose) {
int specialcase = B_FALSE;
flag_t *f;
// default - at victim.
if (spelllf) *spelllf = victim;
if (spellcell) *spellcell = victim->cell;
if (spellob) *spellob = NULL;
f = hasflag(spelltype->flags, purpose);
if (f) {
switch (f->val[0]) {
case ST_VICTIM:
// at victim.
if (spelllf) *spelllf = victim;
if (spellcell) *spellcell = victim->cell;
if (spellob) *spellob = NULL;
break;
case ST_ADJSELF: // cast at myself when next to victim
if (getcelldist(lf->cell, victim->cell) <= 1) {
if (spelllf) *spelllf = lf;
if (spellcell) *spellcell = lf->cell;
if (spellob) *spellob = NULL;
}
break;
case ST_ADJVICTIM: // cast at victim when next to victim
if (getcelldist(lf->cell, victim->cell) <= 1) {
if (spelllf) *spelllf = victim;
if (spellcell) *spellcell = victim->cell;
if (spellob) *spellob = NULL;
}
break;
case ST_SELF:
if (spelllf) *spelllf = lf;
if (spellcell) *spellcell = lf->cell;
if (spellob) *spellob = NULL;
break;
case ST_ANYWHERE:
if (spelllf) *spelllf = NULL;
if (spellcell) *spellcell = NULL;
if (spellob) *spellob = NULL;
break;
case ST_SPECIAL:
specialcase = B_TRUE;
break;
2011-03-04 12:22:36 +11:00
}
if (specialcase) {
if (spelltype->id == OT_S_TELEKINESIS) {
float maxweight;
object_t *poss[MAXPILEOBS];
int nposs;
int i;
// find nearest object which can be picked up
// this is copied out of the telekenesis spell code!
maxweight = getlfweight(lf, B_NOOBS) +
(getlfweight(lf, B_NOOBS) * (getstatmod(lf, A_IQ) / 100));
nposs = 0;
for (i = 0; i < lf->nlos; i++) {
if (lf->los[i] != lf->cell) {
object_t *o;
for (o = lf->los[i]->obpile->first ; o ; o = o->next) {
if (!hasflag(o->flags, F_NOPICKUP) &&
getobweight(o) <= maxweight) {
poss[nposs] = o;
nposs++;
if (nposs >= MAXPILEOBS) break;
}
}
if (nposs >= MAXPILEOBS) break;
}
}
// should always be true since we check this in aispellok
if (nposs > 0) {
if (spellob) *spellob = poss[rnd(0,nposs-1)];
}
// cast spell at the victim
if (spelllf) *spelllf = victim;
if (spellcell) *spellcell = victim->cell;
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
} else if (spelltype->id == OT_S_CHARM) {
lifeform_t *l;
l = getnearbypeaceful(lf);
if (l) {
if (spelllf) *spelllf = l;
if (spellcell) *spellcell = l->cell;
if (spellob) *spellob = NULL;
}
}
2011-03-04 12:22:36 +11:00
}
}
}
object_t *aigetwand(lifeform_t *lf, enum FLAG purpose) {
object_t *o;
object_t *poss[MAXPILEOBS];
int nposs = 0;
for (o = lf->pack->first ; o ; o = o->next) {
// wand with charges left?
if ((o->type->obclass->id == OC_WAND) && (getcharges(o) > 0)) {
// do we know how to use it?
if (hasflag(o->flags, purpose)) {
2011-03-16 15:45:46 +11:00
// TODO: if castatself, check whether we actually need to (ie. healing, invis, etc)
poss[nposs] = o;
nposs++;
}
}
}
if (nposs > 0) {
return poss[rnd(0,nposs-1)];
}
return NULL;
}
// returns targetcell flag on success
* [+] 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
flag_t *aigoto(lifeform_t *lf, cell_t *c, enum MOVEREASON why, void *data, int timelimit) {
int db = 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
char whybuf[BUFLEN];
flag_t *f = NULL;
if (lfhasflag(lf, F_DEBUG)) {
db = 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
if (lfhasflagval(lf, F_IGNORECELL, c->x, c->y, NA, NULL)) {
char lfname[BUFLEN];
getlfname(lf, lfname);
if (db) dblog(".oO { %s cannot go to targecell %d,%d due to f_ignorecell flag }", lfname, c->x, c->y);
* [+] 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
return NULL;
}
if (db) {
char lfname[BUFLEN];
getlfname(lf, lfname);
dblog(".oO { %s going to targecell: %d, %d }", lfname, c->x, c->y);
}
// kill previous target flags.
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
killflagsofid(lf->flags, F_TARGETLF);
killflagsofid(lf->flags, F_TARGETCELL);
* [+] 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 (why == MR_LF) {
sprintf(whybuf, "%d", ((lifeform_t *)data)->id);
} else if (why == MR_OB) {
sprintf(whybuf, "%ld", ((object_t *)data)->id);
} else {
strcpy(whybuf, "");
}
if ((timelimit == PERMENANT) || (timelimit == UNLIMITED)) {
* [+] 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 = addflag(lf->flags, F_TARGETCELL, c->x, c->y, why, whybuf);
} else {
* [+] 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 = addtempflag(lf->flags, F_TARGETCELL, c->x, c->y, why, whybuf,timelimit);
}
* [+] 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 f;
}
* [+] 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 *aihastarget(lifeform_t *lf) {
flag_t *f;
f = lfhasflag(lf, F_TARGETLF);
if (f) return f;
f = lfhasflag(lf, F_TARGETCELL);
if (f) return f;
return 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
// returns B_FALSE if we did something.
// returns B_TRUE if we failed (ie. did nothing)
int aimovetolf(lifeform_t *lf, lifeform_t *target, int wantattack) {
int db = B_FALSE;
int ismaster = B_FALSE;
flag_t *targetflag = NULL;
if (lfhasflag(lf, F_DEBUG)) db = B_TRUE;
targetflag = lfhasflagval(lf, F_PETOF, target->id, NA, NA, NULL);
if (targetflag) {
ismaster = B_TRUE;
} else {
targetflag = lfhasflagval(lf, F_TARGETLF, target->id, NA, NA, NULL);
}
if (cansee(lf, target)) {
int dist,wantdistmin,wantdistmax;
int attackok;
enum OBTYPE spell;
object_t *rangedob = NULL;
enum RANGEATTACK rangedattack = RA_NONE;
int shootrange = 0;
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 movefailed = B_FALSE;
// pet movement
if (ismaster) {
if (isresting(target)) {
// rest as well.
rest(lf, B_TRUE);
return B_FALSE;
} else if (isadjacent(lf->cell, target->cell)) {
if (db) dblog(".oO { i can see my master adjacent - moving randomly }");
// move randomly. TODO: just return ??
dorandommove(lf, B_NOBADMOVES, B_TRUE);
return B_FALSE;
}
// otherwise fall through to below movement code.
}
// how far away is my target ?
dist = getcelldist(lf->cell, target->cell);
// how far away do i _want_ to be?
getwantdistance(lf,&wantdistmin,&wantdistmax, wantattack);
// reset F_TARGET lifetime to full.
if (targetflag) {
if (targetflag->id == F_TARGETLF) {
targetflag->lifetime = AI_FOLLOWTIME;
}
if (db) dblog(".oO { i can see my target (at %d,%d). might move towards it. }",target->cell->x,target->cell->y);
// remember their location
targetflag->val[1] = target->cell->x;
targetflag->val[2] = target->cell->y;
}
// is an attack possible?
attackok = B_FALSE;
if (wantattack) {
if (dist == 1) {
attackok = B_TRUE;
} else if (!lfhasflag(lf, F_HIDING)) {
attackok = 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
} else if (!lfhasflag(lf, F_FEIGNINGDEATH)) {
attackok = 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
}
}
if (attackok) {
objecttype_t *st;
// drink boost potions
if (!useitemwithflag(lf, F_AIBOOSTITEM)) {
return B_FALSE;
}
// try spells first.
// can we attack with spells (ie. ones which target the victim)?
// if target is adjacent, we will normally just attack rather than try a spell.
spell = aigetattackspell(lf, target);
st = findot(spell);
if ( (spell != OT_NONE) && // found a valid spell/ability to use
((dist != 1) || // there is distance between us and target
(st->obclass->id == OC_ABILITY) || // OR this works from adjacent
(rnd(1,3) == 1)) // OR random chance of using anyway...
) {
int spellfailed = B_FALSE;
lifeform_t *spelllf = NULL;
cell_t *spellcell = NULL;
object_t *spellob = NULL;
if (db) {
dblog(".oO { will cast attack spell: %s }", st->name);
}
// special cases: eg. spells like telekenesis
if (spell == OT_S_TELEKINESIS) {
float maxweight;
object_t *poss[MAXPILEOBS];
int nposs;
int i;
// find nearest object which can be picked up
// this is copied out of the telekenesis spell code!
maxweight = getlfweight(lf, B_NOOBS) +
(getlfweight(lf, B_NOOBS) * (getstatmod(lf, A_IQ) / 100));
nposs = 0;
for (i = 0; i < lf->nlos; i++) {
if (lf->los[i] != lf->cell) {
object_t *o;
for (o = lf->los[i]->obpile->first ; o ; o = o->next) {
if (!hasflag(o->flags, F_NOPICKUP) &&
getobweight(o) <= maxweight) {
poss[nposs] = o;
nposs++;
if (nposs >= MAXPILEOBS) 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
}
if (nposs >= MAXPILEOBS) 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
}
}
if (nposs > 0) {
spellob = poss[rnd(0,nposs-1)];
} else {
spellfailed = B_TRUE;
}
// cast spell at the player
spelllf = target;
spellcell = target->cell;
} else {
// pick targets based on spell flags
aigetspelltarget(lf, st, target, &spelllf, &spellcell, &spellob, F_AICASTTOATTACK);
}
if (spellfailed) {
if (db) dblog(".oO { cast spell/ability failed (1)! }");
} else {
if (getschool(spell) == SS_ABILITY) {
spellfailed = useability(lf, spell, spelllf, spellcell);
} else {
spellfailed = castspell(lf, spell, spelllf, spellob, spellcell);
}
}
if (spellfailed) {
if (db) dblog(".oO { cast spell/ability tried but failed (2)! reason = %d }", reason);
- [+] 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
// spell failed. we will keep going through aiturn.
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 {
// spell succesful
* [+] fire should set equipped obs on fire too * [+] trapped doors/objcets * [+] make careful walking have less chance of triggering some traps (eg tripwire) - [+] dex penalty when drunk - [+] require dex to put on most shoes - [+] Diety's short sword of pyromania isn't appearing? - [+] make sure i can tumble over traps * [+] able to cut tripwires with slashing/chopping/piercing weapons? - [+] maybe make cmomando have no weapon skill - [+] make armour more common - [+] shouldnt be able to swap place with someone who is sleeping - [+] if you're not in the water, can't see lfs in water (unless they are adjacent) - [+] You break free from the zombie! You reintegrate inside a solid object!--More-- * [+] shopkeepers will charge an extra fee to identify stuff - [+] shouldn't get an empty flask when I dirnk from a fountain! - [+] identify and remove curse scrolls should be COMMON * [+] provide detailed skill descriptions - [+] dumpoutlines() - [+] make minotaurs stay in room - [+] make minotaurs have good smell - [+] don't auotreveal vaults. * [+] should be able to fill flasks from fountains - [+] don't announce corpse decay death while training. * [+] add the initial godstone at the bottom of firstdungeon * [+] make fountains names same as their linked potions - [+] bug: when filling potions from the ground, ground object was never dryaing up Beggars - [+] stealing ability sometimes. run away after using this * [+] various lots of generic f_talktext->"have a coin to spare?" World map - [+] 1-2,1-2: habitat: village - [+] multiple villages - [+] vault: island with treasure (or acid island?) - [+] jump into a water - it splashes small puddles to surrounding cells * [+] let dig spell go up/down. * [+] fountains, random potion effect or water (blue _ or }) - [+] make thingchance and obchance be habitat_t parameters. work on game goal - [+] find a way out of the magical dungeon barriers in the first dungeon - [+] slime - [+] troll = t - [+] lizardman - [+] ogre - [+] kobold - [+] fire sprite - [+] hobgoblin - [+] bugbear - [+] gnoll - [+] giant - [+] zombie - [+] skeleton * [+] ghoul - [+] ghast - [+] can operate spanner to - [+] jam/unjam a door * [+] visibility - [+] initial code for monsters opening doors while giving chase - [+] acid does more damage to armour * [+] implement temporary flags. * [+] implement unknown flags - [+] mana spike - [+] energy bolt - [+] energy blast (hits all in radius) - [+] flash (like flashbang) - [+] telekinesis (open/close doors remotely, grab/throw objects remotely) - [+] mindscan - knoweldge of hp etc * [+] airblast (push obs, push someone very far, AND lose obs. break walls they hit?) - [+] fireball - sets on fire - [+] flamepillar - [+] fire arrow - [+] spark (light a flammable object) - [+] flameburst - 2d8+3 damage in a circle - [+] burning wave - 2d10 damage and set on firea, line towards target - [+] range 3 - [+] freezing touch (turns an object to ice) - [+] knock - opens doors - [+] gas form - [+] polymorph - [+] write on floor - [+] light - [+] weaken (lose str) - [+] poison cloud - change cloudkill to this? - [+] animate dead - [+] posession - [+] minor healing - [+] healing - [+] turn undead - [+] identify - [+] detect magic - [+] detect aura - [+] reveal surroundings - [+] uncontrolled teleport - [+] speed - [+] slow - [+] boost gravity - [+] create monster - [+] divine - [+] wish
2011-07-21 11:43:45 +10:00
* [+] 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 ((spell == OT_A_STEAL) && !lfhasflag(lf, F_NOFLEE)) {
* [+] fire should set equipped obs on fire too * [+] trapped doors/objcets * [+] make careful walking have less chance of triggering some traps (eg tripwire) - [+] dex penalty when drunk - [+] require dex to put on most shoes - [+] Diety's short sword of pyromania isn't appearing? - [+] make sure i can tumble over traps * [+] able to cut tripwires with slashing/chopping/piercing weapons? - [+] maybe make cmomando have no weapon skill - [+] make armour more common - [+] shouldnt be able to swap place with someone who is sleeping - [+] if you're not in the water, can't see lfs in water (unless they are adjacent) - [+] You break free from the zombie! You reintegrate inside a solid object!--More-- * [+] shopkeepers will charge an extra fee to identify stuff - [+] shouldn't get an empty flask when I dirnk from a fountain! - [+] identify and remove curse scrolls should be COMMON * [+] provide detailed skill descriptions - [+] dumpoutlines() - [+] make minotaurs stay in room - [+] make minotaurs have good smell - [+] don't auotreveal vaults. * [+] should be able to fill flasks from fountains - [+] don't announce corpse decay death while training. * [+] add the initial godstone at the bottom of firstdungeon * [+] make fountains names same as their linked potions - [+] bug: when filling potions from the ground, ground object was never dryaing up Beggars - [+] stealing ability sometimes. run away after using this * [+] various lots of generic f_talktext->"have a coin to spare?" World map - [+] 1-2,1-2: habitat: village - [+] multiple villages - [+] vault: island with treasure (or acid island?) - [+] jump into a water - it splashes small puddles to surrounding cells * [+] let dig spell go up/down. * [+] fountains, random potion effect or water (blue _ or }) - [+] make thingchance and obchance be habitat_t parameters. work on game goal - [+] find a way out of the magical dungeon barriers in the first dungeon - [+] slime - [+] troll = t - [+] lizardman - [+] ogre - [+] kobold - [+] fire sprite - [+] hobgoblin - [+] bugbear - [+] gnoll - [+] giant - [+] zombie - [+] skeleton * [+] ghoul - [+] ghast - [+] can operate spanner to - [+] jam/unjam a door * [+] visibility - [+] initial code for monsters opening doors while giving chase - [+] acid does more damage to armour * [+] implement temporary flags. * [+] implement unknown flags - [+] mana spike - [+] energy bolt - [+] energy blast (hits all in radius) - [+] flash (like flashbang) - [+] telekinesis (open/close doors remotely, grab/throw objects remotely) - [+] mindscan - knoweldge of hp etc * [+] airblast (push obs, push someone very far, AND lose obs. break walls they hit?) - [+] fireball - sets on fire - [+] flamepillar - [+] fire arrow - [+] spark (light a flammable object) - [+] flameburst - 2d8+3 damage in a circle - [+] burning wave - 2d10 damage and set on firea, line towards target - [+] range 3 - [+] freezing touch (turns an object to ice) - [+] knock - opens doors - [+] gas form - [+] polymorph - [+] write on floor - [+] light - [+] weaken (lose str) - [+] poison cloud - change cloudkill to this? - [+] animate dead - [+] posession - [+] minor healing - [+] healing - [+] turn undead - [+] identify - [+] detect magic - [+] detect aura - [+] reveal surroundings - [+] uncontrolled teleport - [+] speed - [+] slow - [+] boost gravity - [+] create monster - [+] divine - [+] wish
2011-07-21 11:43:45 +10:00
// run away for a few turns
fleefrom(lf, spelllf, rnd(3,7), B_TRUE);
}
- [+] 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
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
}
}
// see if we have a ranged attack. if so, adjust wantdist
// to maintain distance.
rangedob = aigetrangedattack(lf, &rangedattack, &shootrange);
if (rangedattack != RA_NONE) { // ie if we found a ranged attack
// stay out of target's attack range
if (wantdistmin < 2) wantdistmin = 2;
// and stay within range for our ranged attack
if (wantdistmax < wantdistmin) wantdistmax = shootrange;
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
}
} // end if attackok
// move towards the target lf.
// try to get to our ideal range from them.
if (db) dblog(".oO { i am at distance %d, want to be at %d-%d }", dist, wantdistmin, wantdistmax);
if (dist > wantdistmax) {
if (db) {
dblog(".oO { moving towards target. }");
}
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 (!movetowards(lf, target->cell, DT_ORTH)) {
// success
return B_FALSE;
} else {
if (db) dblog(".oO { move towards failed! - reason = %d }",reason);
movefailed = B_TRUE;
}
} else if (dist < wantdistmin) {
if (db) dblog(".oO { moving away from target to maintain mindist %d. }", wantdistmin);
if (!moveawayfrom(lf, target->cell, DT_ORTH, B_KEEPLOF)) { // maintain LOF
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
// success
return B_FALSE;
} else {
if (db) dblog(".oO { move towards failed! - reason = %d }",reason);
movefailed = B_TRUE;
}
}
// if we got here, we're either at the correct distance or couldn't
// move.
if (attackok) {
// if not adjacent, check for guns, wands, throwing
if ( (rangedattack != RA_NONE) &&
haslof(lf->cell, target->cell, LOF_NEED, NULL) && // and we have line of fire to them
* [+] fire should set equipped obs on fire too * [+] trapped doors/objcets * [+] make careful walking have less chance of triggering some traps (eg tripwire) - [+] dex penalty when drunk - [+] require dex to put on most shoes - [+] Diety's short sword of pyromania isn't appearing? - [+] make sure i can tumble over traps * [+] able to cut tripwires with slashing/chopping/piercing weapons? - [+] maybe make cmomando have no weapon skill - [+] make armour more common - [+] shouldnt be able to swap place with someone who is sleeping - [+] if you're not in the water, can't see lfs in water (unless they are adjacent) - [+] You break free from the zombie! You reintegrate inside a solid object!--More-- * [+] shopkeepers will charge an extra fee to identify stuff - [+] shouldn't get an empty flask when I dirnk from a fountain! - [+] identify and remove curse scrolls should be COMMON * [+] provide detailed skill descriptions - [+] dumpoutlines() - [+] make minotaurs stay in room - [+] make minotaurs have good smell - [+] don't auotreveal vaults. * [+] should be able to fill flasks from fountains - [+] don't announce corpse decay death while training. * [+] add the initial godstone at the bottom of firstdungeon * [+] make fountains names same as their linked potions - [+] bug: when filling potions from the ground, ground object was never dryaing up Beggars - [+] stealing ability sometimes. run away after using this * [+] various lots of generic f_talktext->"have a coin to spare?" World map - [+] 1-2,1-2: habitat: village - [+] multiple villages - [+] vault: island with treasure (or acid island?) - [+] jump into a water - it splashes small puddles to surrounding cells * [+] let dig spell go up/down. * [+] fountains, random potion effect or water (blue _ or }) - [+] make thingchance and obchance be habitat_t parameters. work on game goal - [+] find a way out of the magical dungeon barriers in the first dungeon - [+] slime - [+] troll = t - [+] lizardman - [+] ogre - [+] kobold - [+] fire sprite - [+] hobgoblin - [+] bugbear - [+] gnoll - [+] giant - [+] zombie - [+] skeleton * [+] ghoul - [+] ghast - [+] can operate spanner to - [+] jam/unjam a door * [+] visibility - [+] initial code for monsters opening doors while giving chase - [+] acid does more damage to armour * [+] implement temporary flags. * [+] implement unknown flags - [+] mana spike - [+] energy bolt - [+] energy blast (hits all in radius) - [+] flash (like flashbang) - [+] telekinesis (open/close doors remotely, grab/throw objects remotely) - [+] mindscan - knoweldge of hp etc * [+] airblast (push obs, push someone very far, AND lose obs. break walls they hit?) - [+] fireball - sets on fire - [+] flamepillar - [+] fire arrow - [+] spark (light a flammable object) - [+] flameburst - 2d8+3 damage in a circle - [+] burning wave - 2d10 damage and set on firea, line towards target - [+] range 3 - [+] freezing touch (turns an object to ice) - [+] knock - opens doors - [+] gas form - [+] polymorph - [+] write on floor - [+] light - [+] weaken (lose str) - [+] poison cloud - change cloudkill to this? - [+] animate dead - [+] posession - [+] minor healing - [+] healing - [+] turn undead - [+] identify - [+] detect magic - [+] detect aura - [+] reveal surroundings - [+] uncontrolled teleport - [+] speed - [+] slow - [+] boost gravity - [+] create monster - [+] divine - [+] wish
2011-07-21 11:43:45 +10:00
(onein(2) || (getcelldist(lf->cell, target->cell) > 1) )) { // and we're not adjacent to target OR random
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 (rangedattack == RA_GUN) {
setguntarget(lf, target);
if (!shoot(lf)) {
// succesful
return B_FALSE;
} else {
if (db) dblog(".oO { shoot gun failed! reason = %d }", reason);
}
} else if (rangedattack == RA_THROW) {
// try to throw it!
if (!throwat(lf, rangedob, target->cell)) {
// succesful
return B_FALSE;
} else {
if (db) dblog(".oO { throw failed! }");
}
} else if (rangedattack == RA_WAND) {
objecttype_t *st;
cell_t *zapcell = NULL;
st = getlinkspell(rangedob);
if (st) {
enum FLAG purpose;
if (lfhasflag(lf, F_FLEEFROM)) {
purpose = F_AICASTTOFLEE;
} else {
purpose = F_AICASTTOATTACK;
}
aigetspelltarget(lf, st, target, NULL, &zapcell, NULL, purpose);
} else {
// no linkspell - just zap it.
zapcell = NULL;
}
// zap it
if (!operate(lf, rangedob, zapcell)) {
// succesful
return B_FALSE;
} else {
if (db) dblog(".oO { zap failed! }");
}
}
} // end if rangedattackok
} // end if attackok
// if we could see our traget, but everything we tried failed (spells, moving and ranged attack),
// either rest or move randomly.
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 (movefailed) {
makenoise(lf, N_FRUSTRATED);
if (onein(2)) {
rest(lf, B_TRUE);
} else {
if (dorandommove(lf, B_NOBADMOVES, B_FALSE)) {
rest(lf, 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
return B_FALSE;
}
} else {
// can't see target.
// move towards their last known location instead
cell_t *targcell;
int lastx,lasty;
int lastdir;
targcell = aigetlastknownpos(lf, target, &lastx, &lasty, &lastdir);
if (targcell) {
// are we already AT their last known location?
if (targcell == lf->cell) {
if (db) dblog(".oO { cannot see target. i am already at their last known loc %d/%d }",lastx, lasty);
// go in their last known direction.
if (lastdir == D_NONE) {
if (db) dblog(".oO { i don't know my target's last known movement dir. }");
} else {
// try going in last known dir
if (db) dblog(".oO { trying my master's last known move dir (%s) }",getdirname(lastdir));
if (!trymove(lf, lastdir, B_TRUE)) {
if (db) dblog(".oO { ...successfully }");
// we now don't know their last known dir.
if (targetflag) {
free(targetflag->text);
targetflag->text = strdup("");
}
return B_FALSE;
}
}
} else {
// not already at their last known cell. try to go there.
if (db) dblog(".oO { i cannot see my target. moving to last known loc %d/%d }",lastx,lasty);
if (aigoto(lf, targcell, MR_LF, target, PERMENANT)) {
if (db) dblog(".oO { successfuly moved towards LKL. }");
// success
return B_FALSE;
} 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 (db) dblog(".oO { aigoto target's last known loc failed! }");
}
}
} else {
// we don't know their last known location....
if (db) dblog(".oO { go to target's last known loc failed! }");
}
}
if (db) dblog(".oO { aimovetolf failed. }");
// FAILED.
return B_TRUE;
}
- [+] 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
void aimovetotargetcell(lifeform_t *lf, flag_t *f) {
int x,y;
cell_t *c;
int db = B_FALSE;
if (lfhasflag(lf, F_DEBUG)) {
db = B_TRUE;
}
x = f->val[0];
y = f->val[1];
if (db) dblog(".oO { walking from %d,%d towards f_targetcell (%d,%d) ... }", lf->cell->x, lf->cell->y, x, y);
c = getcellat(lf->cell->map, x, y);
if (c) {
// try to move towards the cll
- [+] 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
if (movetowards(lf, c, DT_ORTH)) {
// couldn't move towards it for some reason.
// so stop trying.
if (db) dblog(".oO { couldn't walk towards f_targetcell. abandoning it. }");
killflag(f);
// remember NOT to target this one.
* [+] 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
addignorecell(lf, c);
- [+] 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
} else {
if (db) dblog(".oO { successfully walked towards f_targetcell. arrived at %d,%d }",lf->cell->x, lf->cell->y);
// moved towards it.
// reset lifetime
f->lifetime = AI_FOLLOWTIME;
// are we there yet?
if (lf->cell == c) {
// yes. remove target cell
- [+] 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
if (db) dblog(".oO { arrived at f_targetcell. removing. }");
if (f->val[2] == MR_LF) {
lifeform_t *targlf;
// if we were chasing someone, keep looking
// for them.
targlf = findlf(lf->cell->map, atoi(f->text));
if (targlf) {
if (db) dblog(".oO { resuming pursuit of %s }", targlf->race->name);
addflag(lf->flags, F_TARGETLF, targlf->id, NA, NA, NULL);
}
}
- [+] 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
killflag(f);
}
}
} else {
if (db) dblog(".oO { f_targetcell doesn't exist. abandoning. }");
// destination doesn't exist!
killflag(f);
// remember NOT to target this one.
* [+] 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
addignorecell(lf, c);
- [+] 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
}
}
int aipickup(lifeform_t *lf, object_t *o) {
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
// special case
if ((o->type->id == OT_COFFIN) && (lf->race->id == R_GASCLOUD) && lfhasflagval(lf, F_ORIGRACE, R_VAMPIRE, NA, NA, NULL)) {
return rest(lf, B_TRUE);
}
- [+] 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
if (isedible(o)) {
return eat(lf, o);
} else {
* [+] 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
return pickup(lf, o, o->amt, B_TRUE, B_TRUE);
- [+] 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
}
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
int aipickupok(lifeform_t *lf, object_t *o) {
int ok = B_FALSE;
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
// special case
if ((o->type->id == OT_COFFIN) && (lf->race->id == R_GASCLOUD) && lfhasflagval(lf, F_ORIGRACE, R_VAMPIRE, NA, NA, NULL)) {
return B_TRUE;
}
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
if (hasflag(o->flags, F_SHOPITEM)) {
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
if (isedible(o)) {
if (caneat(lf, o) && !isinbattle(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
ok = B_TRUE;
}
} else if (canpickup(lf, o, 1)) {
ok = B_TRUE;
}
return ok;
}
- [+] 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
int aiobok(lifeform_t *lf, object_t *o, lifeform_t *target) {
// non-humanoids can only use food.
if (!lfhasflag(lf, F_HUMANOID)) {
if (o->type->obclass->id != OC_FOOD) {
return B_FALSE;
}
}
- [+] 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
switch (o->type->id) {
case OT_POT_INVIS:
case OT_WAND_INVIS:
if (lfhasflag(target, F_INVISIBLE)) {
return B_FALSE;
}
break;
case OT_POT_INVULN:
if (lfhasflag(target, F_INVULNERABLE)) {
return B_FALSE;
}
break;
default:
break;
}
return B_TRUE;
}
void aiturn(lifeform_t *lf) {
2010-12-07 18:34:26 +11:00
int db = B_FALSE;
2011-02-01 06:16:13 +11:00
object_t *curwep,*bestwep, *o;
int icanattack = B_FALSE;
2011-02-01 06:16:13 +11:00
object_t *curgun,*bestgun;
2010-12-02 12:17:54 +11:00
flag_t *f;
2011-02-01 06:16:13 +11:00
//flag_t *nextf;
// lifeform_t *fleefrom = NULL;
* [+] 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
lifeform_t *target,*newtarget;
2011-02-01 06:16:13 +11:00
enum BODYPART bp;
* [+] 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
//cell_t *c;
- [+] 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
lifeform_t *master = NULL;
* [+] 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 iqb;
int n,i;
flag_t *retflag[MAXCANDIDATES];
int nretflags;
- [+] 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
2010-12-07 18:34:26 +11:00
/*
2010-12-07 18:34:26 +11:00
if (wantdb && haslos(player, lf->cell)) {
db = B_TRUE;
} else {
db = B_FALSE;
}
*/
if (wantdb && lfhasflag(lf, F_DEBUG)) {
db = B_TRUE;
} else {
db = B_FALSE;
}
2010-12-07 18:34:26 +11:00
2011-02-01 06:16:13 +11:00
if (db) {
char lfname[BUFLEN];
real_getlfname(lf, lfname, B_FALSE);
2011-02-01 06:16:13 +11:00
dblog("AIMOVE: %s", lfname);
}
2010-12-07 18:34:26 +11:00
2010-12-02 12:17:54 +11:00
// if lifeform isn't alive, skip turn
if (isdead(lf)) {
2010-12-07 18:34:26 +11:00
if (db) dblog(".oO { i am not alive, skipping turn. }");
2010-12-02 12:17:54 +11:00
taketime(lf, SPEED_DEAD);
return;
}
2011-02-01 06:16:13 +11:00
- [+] 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
///////////////////////////////////////////
// info gathering
///////////////////////////////////////////
// remember our intelligence
* [+] 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
iqb = getattrbracket(getattr(lf, A_IQ), A_IQ, NULL);
- [+] 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
// are we a pet?
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 = lfhasflagval(lf, F_PETOF, NA, NA, NA, NULL);
if (f && (getallegiance(lf) == AL_FRIENDLY)) {
master = findlf(lf->cell->map, f->val[0]);
- [+] 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
}
2010-12-02 12:17:54 +11:00
///////////////////////////////////////////////
// emergencies
///////////////////////////////////////////////
* [+] 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 (iqb >= AT_AVERAGE) {
if (celldangerous(lf, lf->cell, B_TRUE, NULL)) {
// if our cell is dangerous, move away!
if (!dorandommove(lf, B_NOBADMOVES, B_FALSE)) {
return;
}
}
}
2010-12-02 12:17:54 +11:00
- [+] 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
///////////////////////////////////////////////
// housekeeping - weapon changes, drop/pickup,
* [+] 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
// use items, talk,etc
- [+] 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
///////////////////////////////////////////////
if (lfhasflag(lf, F_ISPRISONER) && master && isplayer(master) && cansee(lf, master)) {
* [+] 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 (isoutdoors(lf->cell->map) && pctchance(20)) {
object_t *o;
say(lf, "Thanks for getting me out!", SV_TALK);
o = addobfast(master->pack, OT_MANUAL);
* [+] 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 (o) {
char obname[BUFLEN];
say(lf, "Here, let me teach you something as a reward.", SV_TALK);
getobname(o, obname, o->amt);
msgnocap("%c - %s", o->letter, obname);
}
// no longer an ally
* [+] 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
killflagsofid(lf->flags, F_PETOF);
killflagsofid(lf->flags, F_ISPRISONER);
* [+] 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
}
}
// too many objects?
i = countobs(lf->pack, B_FALSE);
if (i >= (MAXPILEOBS - 5)) {
object_t *container;
// get largest container with space
container = getbestcontainer(lf->pack);
if (container) {
object_t *o;
// find object which will fit
for (o = lf->pack->first ; o ; o = o->next) {
if ((o != container) && !isequipped(o) && obfits(o, container->contents)) {
// put it in.
moveob(o, container->contents, ALL);
if (cansee(player, lf)) {
char obname[BUFLEN];
char lfname[BUFLEN];
char containername[BUFLEN];
// announce
getobname(o, obname, o->amt);
getobname(container, containername, 1);
getlfname(lf, lfname);
msg("%s puts %s into %s.", lfname, obname, containername);
}
// timetime
taketime(lf, getactspeed(lf));
return;
}
}
}
}
* [+] 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
// talking
f = lfhasflag(lf, F_RANDOMTALKPCT);
if (f) {
if (pctchance(f->val[0])) {
flag_t *poss[MAXCANDIDATES];
int nposs = 0,i;
getflags(lf->flags, retflag, &nretflags, F_RANDOMTALK, F_NONE);
for (i = 0; i < nretflags; i++) {
poss[nposs++] = retflag[i];
* [+] 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 (nposs) {
int vol;
f = poss[rnd(0,nposs-1)];
vol = rnd(f->val[1], f->val[2]);
sayphrase(lf, f->val[0], vol, NA, NULL);
}
}
}
- [+] 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
///////////////////////////////////////////////
// healing
///////////////////////////////////////////////
* [+] 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
// special cases
if ((lf->race->id == R_STIRGE) || (lf->race->id == R_LEECH)) {
if (ispeaceful(lf)) {
int sleepval = 18;
if (modcounter(lf->flags, 1) >= sleepval) {
* [+] 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
// we say that this ISNT on purpose, because otherwise
// we'll wake up as soon as we're healed. in this case
// we actually want to sleep forever (or until woken).
if (!gotosleep(lf, B_FALSE)) {
// force this since when not on purpose, gotosleep wont
// take time.
taketime(lf, getactspeed(lf));
return; // success
}
* [+] 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
}
}
}
* [+] 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
// feigning death with enemies in sight?
if (lfhasflag(lf, F_FEIGNINGDEATH) && !safetorest(lf)) {
// just wait...
taketime(lf, getactspeed(lf));
return;
}
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
// hurt gods planeshift away
if (lf->race->raceclass->id == RC_GOD) {
if (gethppct(lf) <= 10) {
if (!castspell(lf, OT_S_PLANESHIFT, lf, NULL, lf->cell)) {
return;
}
}
}
- [+] 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
// need to heal?
if (lf->hp < (lf->maxhp/2)) {
if (!useitemwithflag(lf, F_AIHEALITEM)) {
return;
}
}
// burdened?
if (isburdened(lf)) {
object_t *o,*heaviest = NULL;
float hevweight = 0;
if (db) dblog(".oO { i am burdened }");
// drop our heaviest non-equipped object
for (o = lf->pack->first ; o ; o = o->next) {
if (!isequipped(o)) {
float thisweight;
thisweight = getobweight(o);
if (thisweight > hevweight) {
hevweight = thisweight;
heaviest = o;
}
}
}
if (heaviest) {
if (db) {
char obname[BUFLEN];
getobname(o, obname, ALL);
dblog(".oO { i will drop %s to lower my burden }", obname);
}
if (!drop(heaviest, ALL)) {
return;
}
if (db) dblog(".oO { drop failed! }");
}
if (db) dblog(".oO { couldn't drop anything }");
}
2010-12-07 18:34:26 +11:00
// do we have a better weapon we could use?
curwep = getweapon(lf);
bestwep = getbestweapon(lf);
* [+] make vending machines use this container code instead. - [+] don't say "you see a few things" if one of them is footsteps * [+] IFMONSTER code failing....because flags are now SORTED!!! - [+] tumble - askcoords is letting us pick a cell we don't have lof to. * [+] assign a name to lfs once you hire them * [+] coloured msgtext - [+] make min dam reduction from AR be AR/5. - [+] safebox - [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with no getsweaker (val1) * [+] make fire / ice damage mor elike netheck - [+] towns should have gates on EVERY side - [+] forest cells outside town gates need to be CLEARED. (maybe turn to dirt) - [+] fix up knock targetting to include magical barriers - [+] say "open a bag?" not "operate a bag?" * [+] implement immunetodisease - [+] sort known skills in @s. - [+] better damage bonus when attacking someone who is asleep - [+] practive firearms/throwing * [+] need objecttype->size * [+] containers * [+] change guns so you have to reload them. ("operate") - [+] crash when loading map with water - [+] SAVE OBJECT CONTENTSk - [+] monsters with jobs aren't getting start items - [+] shopkeeper has shotgun - [+] bug: monster keeps swapping between shotgun and flail - [+] when hiring, remember failure. * [+] Inn - [+] bug: pets fighting!!! then they all turn on you. never make allies get angry unless the attacker is the player * [+] hiring npcs - [+] chat to pet: "stay close" or "keep your distance" - [+] new 'furniture' obclass - [+] allow for 'randomshop' regiontype * [+] add enchantment school - [+] cast a scroll of mending on itself. CRASH. * [+] lessengravity should make you jump better and get knocked back further - [+] boostgrav/lessengrav cancel out each other. * [+] CRASH when you fall down a hole and die. - [+] problem: master gravitation doesn't let us cast levitat. getspellschoolknown() should return the HIGHEST known skill, not the first. * [+] bug: dregion is null?!??! * [+] dig a pit, if you cleared out land below, you just stay down there. - [+] potion of leveitation - [+] warning msg when levitate is about to expire * [+] if you fall upwards to the surface... * [+] if you are ever on the surface while levitating.... - [+] BUG: cna't go up stairs to surface anymore!!!!! - [+] get hungry LOTS more quickly when you start sprinting * [+] monk slow metabolism psionic pell. - [+] fix buf with lore giving LESS accuracy instead of more. - [+] food shop - [+] wand of digging not identified if you dig upwards * [+] when you make ah ole in the roof, objects above should fall through right away * [+] all towns should have: - [+] give monks more psionics spells. - [+] sk_throwing skill - [+] make calm animals use spellpower * [+] add wisdom * [+] need to save region data along with maps * [+] COMBINE armour evasion and accuracy penalty!!! * [+] make armour reduce accuracy as well (unless you have 'armour' skill) - [+] landmine trap * [+] make friendly monsters of same raceclass swap ammo - [+] rename 'pull' to 'suck' to avoid confusion with pull metal * [+] food to fix blindness - [+] potion of coffee * [+] genericise statbrackets * [+] tumble ability * [+] simplify spell power * [+] shopkeeprs should be allowed to pursue targets outside of the shop. - [+] give shopkeepers a shotgun * [+] make F_RNDHOSTILE be able to ahve a random chance. * [+] if you randomly generate food in a shop, still give it a price. - [+] if peaceful humanoid walks into you, "sorry!" - [+] sayphrase(lf, SP_SORRY, vol) - [+] only let you recruit jobs with j_recruitable - [+] CRASH - summon "monk" - [+] dogs, - [+] chickens, - [+] drunks, * [+] village objects - [+] change armourrating AGAIN. instead of a percentage, make it a number. - [+] rename inn to "pub", since you can't sleep there. * [+] random speech code * [+] genericise sayphrase text based on lf's job * [+] monks - add rest of abliities - [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
if ((curwep != bestwep) && !isfirearm(curwep)) {
2010-12-07 18:34:26 +11:00
if (db) dblog(".oO { i have a better weapon than my current one (%s > %s) }",bestwep->type->name, curwep ? curwep->type->name : "nothing");
// weild better one
2011-02-01 06:16:13 +11:00
if (!weild(lf, bestwep)) return;
}
// do we have a better firearm ?
* [+] 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
curgun = getfirearm(lf);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
if (curwep && hasflag(curwep->flags, F_TWOHANDED)) {
* [+] 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
// we are using a two handed weapon. don't
// check for guns.
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
} else {
bestgun = getbestfirearm(lf);
2011-02-01 06:16:13 +11:00
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
if (curgun != bestgun) {
if (db) dblog(".oO { i have a better gun than my current one (%s > %s) }",bestgun->type->name, curgun ? curgun->type->name : "nothing");
// weild better one
if (!weild(lf, bestgun)) return;
}
2011-02-01 06:16:13 +11: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
// do we have ammo for an empty gun?
2011-03-04 12:22:36 +11:00
if (curgun) {
object_t *curammo;
* [+] 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
curammo = getammo(curgun);
2011-03-04 12:22:36 +11:00
if (!curammo) {
* [+] 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
o = getrandomammo(lf);
if (o && !loadfirearm(lf, curgun, o)) {
// success
return;
2011-03-04 12:22:36 +11:00
}
}
}
2011-02-01 06:16:13 +11:00
// do we have better armour?
for (bp = BP_RIGHTHAND ; bp < MAXBODYPARTS; bp++) {
object_t *curarm;
curarm = getarmour(lf, bp);
// do we have a better one?
for (o = lf->pack->first ; o ; o = o->next) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if (canwear(lf, o, BP_NONE) && isbetterarmourthan(o, curarm)) {
2011-02-01 06:16:13 +11:00
// wear this armour instead
if (!wear(lf, o)) return;
}
}
}
// now check whetehr we have ANY weapon
if (curwep || lfhasflag(lf, F_HASATTACK)) {
icanattack = B_TRUE;
}
2011-02-01 06:16:13 +11:00
// before attacking targets,
// look for any object which we _covet_.
// ie. if we covet something, we will pick it up
// instead of attacking our target.
* [+] 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_HIDING) && !lfhasflag(lf, F_FEIGNINGDEATH)) {
* [+] 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 (db) dblog(".oO { looking for covetted objects... }");
- [+] 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
if (lookforobs(lf)) {
* [+] bug: secret doors revealed when we walk away from them. - [+] make lamps last heaps longer * [+] web spell * [+] spider monstrer * [+] funnelweb: * [+] redback: - [+] if you are wracked with pain, don't clear msg - [+] check rarity for spiders * [+] attack/defense mod if there is stickiness in your square - [+] replace "sticky" with "restrictive" * [+] make some mosnters start hidden - [+] adjust spot checks basd on distance - [+] ensure that attacking stops you hiding - [+] casting spells stops you from being hidden - [+] hidden mosnters shouldn't move unless their victim is ADJACENT. - [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless their victim is ADJACENT. - [-] XP CALC - [+] funnelweb and redback are the same. - [+] check this is right...... i want funnel web to be worse. - [+] make hitconfer check in calcxpval take lifetime into account - [+] ALSO assign an xp rating to each hitconferred flag. - [+] hardcode this. * [+] entangle spell - [+] reveal secret doors if you see them get damaged. * [+] make askcoords list restrivitce objects - [+] ACTUALLY make vines not damaged by struggling * [+] object descriptions, a/an needs to change if showing condition: "a battered entangling vine" - [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't happen! - [+] The human diety reads a blessed scroll of create monster! -- but nothing happens?? * [+] throw code - [+] wizard: ask for school specialty at start, from: fire, ice, xxx ? You get this + WILD. - [+] describe varpower spells - [+] fix mp cost for varpower spells - [+] we're not stopping running at staircases anymore for some reason. - [+] CHARGE ability (like swoop but don't return to original positino) - [+] need to honor f_canlearn when displaying new skills to learn! - [+] ai: if we are going to player's last known loc (via targetcell), abandon if we can SEE the player! - [+] make shatter() into a function - [+] oil potion makes oil puddle whan smashed - [+] make flammable objects be able to convert to others - [+] replace 'magic item usage' with 'channeling' - [+] a cloud of darkness descends. this is a *cursed* wand of light. - [+] spiders shouldn't be able to be stuck in a web! * [+] spells should be able to have MULTIPLE schools. - [+] don't bleed into walls - [+] in @M, use colours to show which spells are too hard so far (ie cost > maxmp) * [+] in @M, use schools that you know * [+] after loading game, barbarian is getting an extra attack? You miss the eyebat. You punch the eyebat. - [+] show objects on top of stairs - [+] stuck mosnters must pass a saving throw to follow you up/down stairs - [+] genericise: trytomove(lf) * [+] add more snakes - [+] undead can't eat or drink? or MOST undead can't. * [+] why can MONSTERS shoot webs through things? (but I can't) - [+] barkskin - doesn't reduce max mp enough? - [+] The skeleton touches a fuming aqua potion [tried] then recoils in pain! The skeleton drops a blessed fuming aqua potion [tried]. The skeleton drinks a fuming aqua potion! - [+] why can't i use abilites anymore? - [+] infinite loop bug due to ai only having one ignorecell. - [+] make sleet storms rust all armour - [+] make a kind of walkdam that hits armour - [+] add this as well as walkdam for: acid, fire, water - [+] Takeoff isn't prompting properly. only showing weapons! * [+] waterproof obs (ie cloak) * [+] walkdambp doesn't hurt body if you have a cloak NATURE SPELLS: - [+] mending, heals 1d6 damage - [+] spark - [+] purify food - [+] sticks to snakes - [+] calm animals (power_d4 hd) * [+] charm animal (works on one animal up to power hit dice, temporary) - [+] airblast - [+] barkskin (power +2 AR, firevuln, ongoing) - [+] soften earth (makes ground into mud) - [+] warp wood (damages wooden objects) - [+] repel insects - [+] reduce poison - [+] web - [+] windshield - [+] call lightning, air - [+] resist elements, ongoing - [+] passwall - [+] poisonbolt - [+] quench (puts out a fire) - [+] sleet storm (lowers movement, vision) - [+] healing - [+] cure poison * [+] calming scent - [+] dig - [+] entangle - [+] levitate - [+] flamepillar - [+] hailstorm. like sleetstorm but hurts more. power d 6. - [+] burning wave - [+] gaseous form * [+] knowledge skills: * [+] force makespellchoicelist() to show spells in level order. * [+] druid - [+] check OBJECT rarity list (dumplev) - [+] fix bug where heaps of books suddently appear from dlev 3 onwards - [+] gain skills on level up for some jobs - [+] f_levspellschool, v0=lev, v1 = school or ANY - select one from that school
2011-04-23 14:27:42 +10:00
if (db) dblog(".oO { found covetted object. returning. }");
return;
}
2010-12-07 18:34:26 +11:00
}
- [+] 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
///////////////////////////////////////////////
// attacks
///////////////////////////////////////////////
- [+] 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
target = gettargetlf(lf);
2010-12-07 18:34:26 +11:00
// do we already have a target we are attacking?
- [+] 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
if (target) {
if (db) dblog(".oO { i have a target: lfid %d (%s). }", target->id, target->race->name);
// aquatic grabbers will try to drag their prey into the water
if (lfhasflagval(lf, F_GRABBING, target->id, NA, NA, NULL) && isaquatic(lf) ) {
if ( hasobwithflag(lf->cell->obpile, F_DEEPWATER) &&
!hasobwithflag(target->cell->obpile, F_DEEPWATER)) {
// move away!
if (!moveawayfrom(lf, target->cell, DT_ORTH, B_FALSE)) {
- [+] 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
return;
}
}
- [+] 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
}
// try to move towards them.
if (!aimovetolf(lf, target, B_TRUE)) {
// success
return;
2010-12-02 12:17:54 +11:00
}
2011-02-01 06:16:13 +11:00
}
2011-05-20 06:30:58 +10:00
///////////////////////////////////////////////
// generic pre-movement actions.
///////////////////////////////////////////////
* [+] 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
// need light?
2011-05-20 06:30:58 +10:00
if (!haslos(lf, lf->cell)) {
object_t *lamp;
lamp = hasobwithflagval(lf->pack, F_ACTIVATECONFER, F_PRODUCESLIGHT, NA, NA, NULL);
if (lamp && !isactivated(lamp)) {
if (db) dblog(".oO { it's dark and i have an inactive light source (%s) }", lamp->type->name);
if (!operate(lf, lamp, NULL)) {
if (db) dblog(".oO { successfully turned it on. }");
return;
} else {
if (db) dblog(".oO { failed to turn it on. }");
}
}
}
* [+] 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
// ally needs ammo?
for (i = 0; i < lf->nlos; i++) {
cell_t *c;
c = lf->los[i];
if (c->lf && (c->lf != lf) && areallies(lf, c->lf)) {
object_t *gun;
gun = getfirearm(c->lf);
if (gun && !getammo(gun)) {
object_t *o;
for (o = lf->pack->first ; o ; o = o->next) {
if (isammofor(o->type, gun) ) {
if (getcelldist(lf->cell, c) <= getmaxthrowrange(lf, o)) {
// throw it to them!
if (!throwat(lf, o, c)) {
// success
return;
}
}
}
}
}
}
}
2011-05-20 06:30:58 +10:00
- [+] 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
///////////////////////////////////////////////
// movement
///////////////////////////////////////////////
2011-02-01 06:16:13 +11:00
// do we have a target cell?
f = hasflag(lf->flags, F_TARGETCELL);
if (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 valid = B_TRUE;
cell_t *c;
// is it still valid?
c = getcellat(lf->cell->map, f->val[0], f->val[1]);
if (!c) {
valid = B_FALSE;
} else if (f->val[2] == MR_LF) {
lifeform_t *who;
who = findlf(lf->cell->map, atoi(f->text));
// lf doesn't exist?
if (!who) {
valid = B_FALSE;
} else if (cansee(lf, who) && (lf->cell != c)) {
// can see them and they're not where we are going?
valid = B_FALSE;
}
} else if (f->val[2] == MR_OB) {
object_t *what;
what = findobidinmap(lf->cell->map, atol(f->text));
if (!what) {
valid = B_FALSE;
} else if (haslos(lf, c) && (what->pile->where != c)) {
// if you can see the cell and object isn't there anymore
valid = B_FALSE;
} else if (c->lf && !areenemies(lf, c->lf) && haslos(lf, c) && (getcelldist(lf->cell, c) == 1)) {
// can see a non-enemy on top of the object, and we are adjacent
valid = 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
}
}
if (valid) {
aimovetotargetcell(lf, f);
} else {
killflag(f);
}
2011-02-01 06:16:13 +11:00
return;
}
- [+] 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
///////////////////////////////////////////////
// look for something to do (objects, things
// to attack, etc)
///////////////////////////////////////////////
2011-02-01 06:16:13 +11:00
// look for any object which we want
- [+] 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
/*
* [+] 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 (!isinbattle(lf)) {
if (db) dblog(".oO { looking for any ob which i want. }");
if (lookforobs(lf, B_ANY)) {
if (db) dblog(".oO { found ob that i want. returning. }");
return;
}
2011-02-01 06:16:13 +11:00
}
- [+] 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
*/
2011-02-01 06:16:13 +11:00
// not attacking anyone in particular
* [+] 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 (db) dblog(".oO { i do not have a target or can't move towards it. looking for one. }");
* [+] 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
// shopkeepers will return to their shops
if (hasjob(lf, J_SHOPKEEPER)) {
f = lfhasflag(lf, F_OWNSSHOP);
if (f) {
int myshop;
cell_t *where;
myshop = f->val[0];
// find the closest cell of my shop
where = getclosestroomcell(lf, myshop);
// move towards my shop. note that if the player leaves then
// re-enters this map, they will find that we have instantly
// teleported there (see mapentereffects).
if (aigoto(lf, where, MR_OTHER, NULL, PERMENANT)) {
// success
return;
}
}
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
}
* [+] 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
* [+] 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
// look for any race which we hate
newtarget = NULL;
for (n = 0; n < lf->nlos; n++) {
lifeform_t *who;
if (lf->los[n] != lf->cell) {
who = lf->los[n]->lf;
if (who && cansee(lf, who)) {
if (lfhasflagval(lf, F_HATESRACE, who->race->id, NA, NA, NULL) ||
lfhasflagval(lf, F_HATESRACE, who->race->baseid, NA, NA, NULL) ) {
if (db) dblog(".oO { found a hated target - lfid %d (%s) ! }",who->id, who->race->name);
newtarget = who;
break;
}
}
* [+] 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 (!newtarget) {
// now look for enemies
for (n = 0; n < lf->nlos; n++) {
if (lf->los[n] != lf->cell) {
lifeform_t *who;
who = lf->los[n]->lf;
if (who && cansee(lf, who)) {
if (areenemies(lf, who)) {
if (db) dblog(".oO { found an enemy target - lfid %d (%s) ! }",who->id, who->race->name);
newtarget = who;
break;
}
* [+] 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 (newtarget) {
* [+] 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 (aiattack(lf, newtarget, AI_FOLLOWTIME)) {
// failed for some reason. maybe target was feigning
// death?
* [+] 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
} else {
* [+] 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
// then move towards them...
if (db) dblog(".oO { moving towards my new target }");
* [+] 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
* [+] 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 (icanattack) {
if (!movetowards(lf, newtarget->cell, DT_ORTH)) return;
} else {
if (db) dblog(".oO { won't move towards target - i have no weapon. }");
}
}
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
} else {
// god with no targets?
if (lf->race->raceclass->id == RC_GOD) {
if (onein(6)) {
// gods will planeshift away
if (!castspell(lf, OT_S_PLANESHIFT, lf, NULL, lf->cell)) {
return;
}
}
}
2011-02-01 06:16:13 +11:00
}
2010-12-02 12:17:54 +11:00
- [+] 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
///////////////////////////////////////////////
// training
///////////////////////////////////////////////
2011-03-16 15:45:46 +11:00
// need to train skills?
- [+] 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
if (readytotrain(lf)) {
if (safetorest(lf)) {
2011-03-16 15:45:46 +11:00
// special case - monsters don't need to actually rest to gain
// skills, although they DO still need to wait until the player
// is out of sight.
enhanceskills(lf);
}
}
// do we have armour which needs repairing?
if (getskill(lf, SK_ARMOUR) >= PR_SKILLED) {
if (db) dblog(".oO { do i have any armour to repair? }");
// just try to use the ability - it'll fail if we have nothing
// which we can repair.
if (!useability(lf, OT_A_REPAIR, NULL, NULL)) {
if (db) dblog(".oO { yes - done. }");
// success
return;
} else {
if (db) dblog(".oO { no armour to repair. }");
}
}
- [+] 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
// pet movement - note that pets will only rest if their
// master is resting. the normal rest code underneath this section
// will never be called.
if (master) {
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 *master;
//master = findlf(lf->cell->map, mf->val[0]);
if (!aimovetolf(lf, master, B_FALSE)) {
// success
* [+] calcxp - [+] more low power rings - [+] don't think book names are being randomized - always 'azure' - [+] charm moidifications - [+] possession modifications - [+] troglodyte being made with 180180108180180 mp!! * [+] gain skills on level up for some jobs - [+] only magic/blessed weapons can hit noncorporeal things. - [+] monsters shouldn't walk into walls to attack things there. - [+] The skeleton slams you with a boulder.--More--Innate Attack: boulder . was a bug in HASATTACK - [+] no polymorphing into undead. - [+] missiles shoudl always miss noncorporeal things! - [+] need OFFMAP as well as WALLINWAY - [+] can't possess undead - [+] less charges in wands - [+] when a thrown potion misses, "xx is destroyed" rather than "xx shatters!" - [+] instead of "act:slow mv: slow", just "slow" - [+] sprinting: "you are exhausted" isn't triggering statdirty - [+] On status, use 'v.fast' 'ex.fast' usbtead if "Very" etc - [+] allies shouldn't attack peaceful things. - [+] make fleeing lfs use stairs - [+] undead can't start with blessed objects. - [+] undead can't touch blessed objects * [+] GHOST * [+] PET code - [+] can't trade items if your ally has NOPACK - [+] make sure shared xp is working * [+] firstaid skill shows extra mosnter hp info * [+] more low power wands - at the moment it's always light or pwoer - [+] pets: say 'your xxx' instead of 'the xxx' * [+] pets: dancing weapons should be pets - [+] need f_allyof as well so that allies will stay close. - [+] difference is that allies aren't called "your" - [+] AND no alignment penalty for attacking allies? - [+] in lfstats, move physical stuff BACK to first page!!! - [+] remove ally/pet flag when you die * [+] pirate job * [+] let firearms go into primary hand. test with PIRATE. - [+] when fighting with a non-weapon: "you whack the xxx with xxx" - [+] add specific attack verbs to weapons - [+] F_ATTACKVERB, dampct between v0 and v1, "stabs" - [+] make showlfarmour() use colours
2011-04-11 15:05:45 +10:00
return;
}
- [+] 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
}
///////////////////////////////////////////////
// resting / healing
///////////////////////////////////////////////
// need to heal?
if (needstorest(lf, NULL) && safetorest(lf)) {
if (db) dblog(".oO { resting to heal }");
rest(lf, B_TRUE);
* [+] calcxp - [+] more low power rings - [+] don't think book names are being randomized - always 'azure' - [+] charm moidifications - [+] possession modifications - [+] troglodyte being made with 180180108180180 mp!! * [+] gain skills on level up for some jobs - [+] only magic/blessed weapons can hit noncorporeal things. - [+] monsters shouldn't walk into walls to attack things there. - [+] The skeleton slams you with a boulder.--More--Innate Attack: boulder . was a bug in HASATTACK - [+] no polymorphing into undead. - [+] missiles shoudl always miss noncorporeal things! - [+] need OFFMAP as well as WALLINWAY - [+] can't possess undead - [+] less charges in wands - [+] when a thrown potion misses, "xx is destroyed" rather than "xx shatters!" - [+] instead of "act:slow mv: slow", just "slow" - [+] sprinting: "you are exhausted" isn't triggering statdirty - [+] On status, use 'v.fast' 'ex.fast' usbtead if "Very" etc - [+] allies shouldn't attack peaceful things. - [+] make fleeing lfs use stairs - [+] undead can't start with blessed objects. - [+] undead can't touch blessed objects * [+] GHOST * [+] PET code - [+] can't trade items if your ally has NOPACK - [+] make sure shared xp is working * [+] firstaid skill shows extra mosnter hp info * [+] more low power wands - at the moment it's always light or pwoer - [+] pets: say 'your xxx' instead of 'the xxx' * [+] pets: dancing weapons should be pets - [+] need f_allyof as well so that allies will stay close. - [+] difference is that allies aren't called "your" - [+] AND no alignment penalty for attacking allies? - [+] in lfstats, move physical stuff BACK to first page!!! - [+] remove ally/pet flag when you die * [+] pirate job * [+] let firearms go into primary hand. test with PIRATE. - [+] when fighting with a non-weapon: "you whack the xxx with xxx" - [+] add specific attack verbs to weapons - [+] F_ATTACKVERB, dampct between v0 and v1, "stabs" - [+] make showlfarmour() use colours
2011-04-11 15:05:45 +10:00
return;
}
2010-12-02 12:17:54 +11:00
- [+] 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
// DEFAULT - try to move in a random direction
if (db) dblog(".oO { default - moving randomly }");
dorandommove(lf, B_NOBADMOVES, B_TRUE); // this function will call rest() if we cant move
2011-02-01 06:16:13 +11:00
}
- [+] 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
2011-02-01 06:16:13 +11:00
// is the spell 'spellid' okay for AI lifeform 'lf' to cast at 'victim', for given purpose.
// purpose could be F_AICASTTOFLEE or F_ATCASTTOATTACK
int aispellok(lifeform_t *lf, enum OBTYPE spellid, lifeform_t *victim, enum FLAG purpose) {
objecttype_t *ot;
flag_t *f;
int db = B_FALSE;
int ok = B_FALSE;
int specialcase = B_FALSE;
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
int specificcheckok = 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 needlos = B_TRUE;
enum LOFTYPE needlof = LOF_NEED;
if (lfhasflag(lf, F_DEBUG)) {
db = B_TRUE;
}
ot = findot(spellid);
* [+] 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 (ot) {
flag_t *f;
f = hasflag(ot->flags, F_LOSLOF);
if (f) {
needlos = f->val[0];
needlof = f->val[1];
}
}
// enough mp etc?
if (!cancast(lf, spellid, NULL)) {
if (db) {
char why[BUFLEN];
if (reason == E_NOMP) {
strcpy(why, "not enough mp");
} else if (reason == E_TOOPOWERFUL) {
strcpy(why, "spell too powerful");
} else if (reason == E_NOTREADY) {
strcpy(why, "abil not ready");
} else if (reason == E_NEEDGRAB) {
strcpy(why, "needs grab");
} else {
strcpy(why, "unknown reason");
}
if (db) {
if (ot) {
dblog(".oO { can't cast %s right now (%s) (mpcost=%d, i have %d) }",
ot ? ot->name : "?unkownspell?", why,
getmpcost(lf, ot->id), lf->mp);
} else {
dblog(".oO { can't cast ?unknownspell? right now }");
}
}
}
return B_FALSE;
}
// boost spell already active?
if (hasflag(ot->flags, F_ONGOING)) {
if (lfhasflagval(lf, F_BOOSTSPELL, ot->id, NA, NA, NULL)) {
if (db) {
dblog(".oO { can't cast %s - it is already active.", ot ? ot->name : "?unkownspell?");
}
return B_FALSE;
}
}
f = hasflag(ot->flags, purpose);
if (f) {
if ((f->val[1] == NA) || pctchance(f->val[1])) {
int range;
switch (f->val[0]) {
case ST_VICTIM:
range = getspellrange(spellid, getspellpower(lf, spellid));
if ((range == UNLIMITED) || (getcelldist(lf->cell, victim->cell) <= range)) {
if (db) {
dblog(".oO { spell possibility: %s }", ot ? ot->name : "?unkownspell?");
}
ok = B_TRUE;
}
break;
case ST_SELF:
case ST_ANYWHERE:
if (db) {
dblog(".oO { spell possibility: %s }", ot ? ot->name : "?unkownspell?");
}
ok = B_TRUE;
break;
case ST_ADJVICTIM:
if (getcelldist(lf->cell,victim->cell) == 1) {
if (ot->id == OT_A_GRAB) {
if (lfhasflag(lf, F_GRABBING) || lfhasflag(lf, F_GRABBEDBY) ||
lfhasflag(victim, F_GRABBING) || lfhasflag(victim, F_GRABBEDBY)) {
} else {
ok = B_TRUE;
}
} else if (ot->id == OT_A_CRUSH) {
// can only crush if you first grab something
if (lfhasflag(lf, F_GRABBING)) {
ok = B_TRUE;
}
} else if (ot->id == OT_A_SUCKBLOOD) {
// must attach first
if (lfhasflag(lf, F_ATTACHEDTO)) {
ok = B_TRUE;
}
} else {
ok = B_TRUE;
}
}
break;
case ST_ADJSELF:
if (getcelldist(lf->cell,victim->cell) == 1) {
ok = B_TRUE;
}
break;
case ST_SPECIAL:
specialcase = B_TRUE;
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
// now check for line of sight / fire
switch (f->val[0]) {
case ST_VICTIM:
case ST_ADJVICTIM:
if (needlos && (!victim || !cansee(lf, victim)) ) {
if (db) dblog(".oO { cant cast %s - no LOS to victim }", ot ? ot->name : "?unkownspell?");
return B_FALSE;
}
if (needlof && !haslof(lf->cell, victim->cell, needlof, NULL) ) {
if (db) dblog(".oO { cant cast %s - no LOF to victim }", ot ? ot->name : "?unkownspell?");
return B_FALSE;
}
break;
default:
break;
}
} else { // failed pctchance for spell
if (db) dblog(".oO { failed pct check for casting %s }", ot ? ot->name : "?unkownspell?");
return 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
}
} else {
// invalid spell for this purpose
* [+] 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 (db) dblog(".oO { cant cast %s - not valid for given purpose }", ot ? ot->name : "?unkownspell?");
return B_FALSE;
}
if (specialcase) {
if (ot->id == OT_S_TELEKINESIS) {
int i,nposs;
float maxweight;
maxweight = getlfweight(lf, B_NOOBS) +
(getlfweight(lf, B_NOOBS) * (getstatmod(lf, A_IQ) / 100));
nposs = 0;
for (i = 0; i < lf->nlos; i++) {
if (lf->los[i] != lf->cell) {
object_t *o;
for (o = lf->los[i]->obpile->first ; o ; o = o->next) {
if (!hasflag(o->flags, F_NOPICKUP) &&
getobweight(o) <= maxweight) {
ok = B_TRUE;
break;
}
if (ok) break;
}
}
}
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
} else if (ot->id == OT_S_CHARM) {
if (getnearbypeaceful(lf)) {
ok = 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 (db) dblog(".oO { cant cast %s - specialcase conditions not yet coded }", ot ? ot->name : "?unkownspell?");
return B_FALSE;
}
}
if (!ok) {
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 (db) dblog(".oO { cant cast %s - targetting conditions cannot be met }", ot ? ot->name : "?unkownspell?");
return B_FALSE;
}
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
// now check whether it meets specific spell conditions
specificcheckok = B_TRUE;
* [+] 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 (ot->id == OT_S_AIRBLAST) {
// target must be in a straight compass dir from us
if ((victim->x != lf->x) ||
(victim->y != lf->y) ||
(abs(victim->x - lf->x) != abs(victim->y - lf->y)) ) {
} else {
specificcheckok = B_FALSE;
}
}
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
if (ot->id == OT_S_ANIMATEMETAL) {
object_t *wep;
wep = getweapon(lf);
if (!wep || !ismetal(wep->material->id)) {
specificcheckok = B_TRUE;
}
}
if ((ot->id == OT_S_BLINDNESS) && isblind(victim)) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
}
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
if ((ot->id == OT_S_DISPERSAL) && (lf->race->raceclass->id == RC_GOD)) {
specificcheckok = B_FALSE;
}
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if ((ot->id == OT_S_DRAINLIFE) && isimmuneto(victim->flags, DT_NECROTIC)) {
specificcheckok = B_FALSE;
}
* [+] 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 (ot->id == OT_A_FLURRY) {
if (!isdualweilding(lf)) {
* [+] F_prone if you're knocked down - [+] make sheilds very good against projectiles - [+] make smoke just REDUCE vision, not block it. - [+] noncorporeal should stop grabs! * [+] don't say 'a javelin is damaged' when you throw it, just apply the damge - [+] increase damage bonus with every lore level. +10% each time (ie. up to 50% at top) * [+] give accuracy + critical bonus for lore levles too - [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle] - [+] Show Pain on botl. * [+] more staves - [+] low hitpoint warning for pets (or make them shriek, whine, etc) - [+] CRITKNOCKDOWN * [+] FINISH GRIZZLY - [+] undead should be immune to poison!! - [+] make code to auto add flags to undead. - [+] if you ever move a door (ie. airblast), automatically open it. - [+] young wolf shouldn't be able to open a door! * [+] You throw a dart at the carpet snake. Your dart misses you.--More-- - [+] no sprinting while burdneed - [+] blood should be drawn BELOW stairs - [+] weilded torch should do 1d4 fire damage (counts as a club) * [+] The skeleton touches a leather belt then recoils in pain!The skeleton drops a blessed leather belt.The skeleton puts on a leather belt. - [+] don't show "you can cast it at power level xxx" for abilities * [+] more item randomising - [+] make grey ooze splatter into acid - [+] "the vine grabs you" if you walk onto an entangling vine. - [+] don't start monsters within player's los - [+] properly randomise sticks to snakes - [+] stirge - [+] leech (like stirge but can charge/leap, and slightly more hp / damage) - [+] treesnake - [+] constrictor - [+] cobra - [+] stickes to snakes - make caster's weapon revert. - [+] A something comes into view. - [+] is invisibility code working properly when you see someone use the invis spell? - [+] don't include cosmetic objects in 'you see xxx' * [+] monsters: don't use spells if you don't have lof. - [+] pets not following around corners if you move diagonally. fixed a little. - [+] summon small animals (2-3 x SZ_SMALL) * [+] jet of water - [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc) - [+] lightning storm (lightbning everyone within los, and more damage) - [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
specificcheckok = B_FALSE;
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
}
}
if ((ot->id == OT_S_FREEZEOB) && lfhasflag(lf, F_FREEZINGTOUCH)) {
specificcheckok = B_FALSE;
}
- [+] 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
if ((ot->id == OT_S_HASTE) && (lfhasflag(victim, F_FASTACT) || lfhasflag(victim, F_FASTACTMOVE)) ) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
}
* [+] 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 (ot->id == OT_A_HEAVYBLOW) {
if (!getweapon(lf)) {
specificcheckok = B_FALSE;
}
}
- [+] 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
if (ot->id == OT_A_HIDE) {
if (lfhasflag(victim, F_HIDING)) {
specificcheckok = 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
} else if (lfhasflag(victim, F_FEIGNINGDEATH)) {
specificcheckok = B_FALSE;
- [+] 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
} else if (!safetorest(victim)) {
specificcheckok = B_FALSE;
}
}
if ((ot->id == OT_S_INVISIBILITY) && lfhasflag(victim, F_INVISIBLE)) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
}
if ((ot->id == OT_S_PAIN) && lfhasflag(victim, F_PAIN)) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
}
if ((ot->id == OT_S_HEALING) && (lf->hp >= lf->maxhp)) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
2011-03-04 12:22:36 +11:00
}
if ((ot->id == OT_S_HEALINGMIN) && (lf->hp >= lf->maxhp)) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
2011-03-16 15:45:46 +11:00
}
if ((ot->id == OT_S_PARALYZE) && lfhasflag(victim, F_PARALYZED)) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
}
if ((ot->id == OT_S_SLEEP) && lfhasflag(victim, F_ASLEEP)) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
}
- [+] 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
if ((ot->id == OT_S_SLOW) && (lfhasflag(victim, F_SLOWACT) || lfhasflag(victim, F_SLOWACTMOVE)) ) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
2011-03-04 12:22:36 +11:00
}
if ((ot->id == OT_S_SMITEGOOD) && (getalignment(victim) != AL_GOOD)) {
specificcheckok = B_FALSE;
}
if ((ot->id == OT_S_SMITEEVIL) && (getalignment(victim) != AL_EVIL)) {
specificcheckok = B_FALSE;
}
if ((ot->id == OT_A_SPRINT) && lfhasflag(lf, F_SPRINTING)) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
2011-03-04 12:22:36 +11:00
}
* [+] 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 ((ot->id == OT_A_STEAL) || (ot->id == OT_S_CONFISCATE)) {
if (!countobs(victim->pack, B_FALSE)) {
specificcheckok = B_FALSE;
}
}
* [+] 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 ((ot->id == OT_A_SWOOP) || (ot->id == OT_A_CHARGE)) {
flag_t *willflag;
flag_t *srflag;
int srange = 5;
willflag = lfhasflagval(lf, F_CANWILL, ot->id, NA, NA, NULL);
if (willflag) {
texttospellopts(f->text, NULL, NULL, NULL, &srange);
if (!srange) srange = 5;
}
// override...
srflag = lfhasflag(lf, F_SWOOPRANGE);
if (srflag) {
srange = srflag->val[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
if (!haslof(lf->cell, victim->cell, LOF_NEED,NULL)) {
specificcheckok = B_FALSE;
} else if (isimmobile(lf)) {
specificcheckok = B_FALSE;
} else if ((ot->id == OT_A_SWOOP) && !lfhasflag(lf, F_FLYING)) {
specificcheckok = B_FALSE;
} else if (getcelldist(lf->cell, victim->cell) > srange) {
specificcheckok = B_FALSE;
} else if (getcelldist(lf->cell, victim->cell) == 1) { // ie already adjacent
specificcheckok = 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
if ((ot->id == OT_S_WARPWOOD)) {
specificcheckok = B_FALSE;
if (victim) {
object_t *oo;
for (oo = victim->pack->first ; oo ; oo = oo->next) {
if ((oo->type->material->id == MT_WOOD) && isequipped(oo)) {
specificcheckok = B_TRUE;
break;
}
}
}
}
if ((ot->id == OT_S_WEAKEN)) {
flag_t *lff;
for (lff = lf->flags->first; lff ; lff = lff->next) {
if ((lff->id == F_ATTRMOD) && (lff->val[0] == A_STR) && (lff->obfrom == OT_S_WEAKEN)) {
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
specificcheckok = B_FALSE;
break;
}
}
}
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
if (!specificcheckok) {
if (db) dblog(".oO { cant cast %s - specific spell check failed }", ot ? ot->name : "?unkownspell?");
* [+] backstab - [+] monsters start asleep and make spot checks ? - [+] make them start asleep - [+] then make this random - [+] sound will wake them (ie. "makenoise") - [+] when you move, make SC_STEALTH check. if you fail, you make noise! - [+] must pass LISTEN check OR have los to hear something. - [+] "the blowfly falls asleep" "the blowfly appears" when summoned. - [+] don't show 'falls asleep' while being created! * [+] don't start summoned mosnters asleep! * [+] clean up bresnham functions - [+] hearing - instead of just using distance, use distance modiied by # of walls! - [+] getcelldistsound() - each wall counts as an extra cell! - [+] add WALK/FLY noises to all monsters! - [+] don't show 'you hear xxx' when resting. - [+] extra damage for weapon skill (up to 50% extra) - [+] make broken glass crushable - [+] only interrupt rest for non-peaceful, non-friendly monsters - [+] save to fight off poison * [+] beholder is never using its BITE attack * [+] need a price for manuals!! * [+] change"dobresnham" to populate an array of cells - [+] make ai cast animate metal (if they ahve a second weapon) - [+] implement getallegiance() to clean up isfriendly / ispeaceful etc - [+] bug - f_else f_ifpct etc not working in startobs * [+] OT_S_CHARM - [+] update askcoords to show "weilding x AND Y" - [+] stop enemies from throwing firearm ammo somehow * [+] implement - [+] pacify spell - [+] make spellbooks less common - [+] detectmetal not wokring. fixed. - [+] detectobjects spell - [+] cleanup using flagcausesredraw() - [+] increase odds of weapons in rooms, and max ob count in rooms
2011-03-24 16:09:31 +11:00
return B_FALSE;
}
2011-03-04 12:22:36 +11:00
return B_TRUE;
}
int aiwants(lifeform_t *lf, object_t *o, int *covets) {
enum OBTYPE oid[MAXPILEOBS];
int oidcovet[MAXPILEOBS];
int noids = 0;
enum FLAG wantflag[MAXPILEOBS];
int wantflagcovet[MAXPILEOBS];
int nwantflags = 0;
makewantedoblist(lf, &noids, oid, oidcovet, &nwantflags, wantflag, wantflagcovet);
return aiwants_real(lf, o, covets, &noids, oid, oidcovet, &nwantflags, wantflag, wantflagcovet);
}
int aiwants_real(lifeform_t *lf, object_t *o, int *covets, int *noids, enum OBTYPE *oid, int *oidcovet,int *nwantflags, enum FLAG *wantflag, int *wantflagcovet) {
int i;
for (i = 0; i < *noids; i++) {
if (oid[i] == o->type->id) {
if (covets) {
*covets = oidcovet[i];
}
return B_TRUE;
}
}
for (i = 0; i < *nwantflags; i++) {
if (hasflag(o->flags, wantflag[i])) {
if ((wantflag[i] == F_EDIBLE) && !caneat(lf, o)) { // special case
} else {
if (covets) {
*covets = wantflagcovet[i];
}
return B_TRUE;
}
}
}
return B_FALSE;
}
2011-03-04 12:22:36 +11:00
- [+] 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
lifeform_t *gettargetlf(lifeform_t *lf) {
flag_t *f;
lifeform_t *target = NULL;
f = hasflag(lf->flags, F_TARGETLF);
if (f) {
target = findlf(lf->cell->map, f->val[0]);
}
return target;
}
2011-02-01 06:16:13 +11:00
object_t *hasbetterarmour(lifeform_t *lf, obpile_t *op) {
object_t *o;
for (o = op->first ; o ; o = o->next) {
if (isarmour(o)) {
object_t *curarm;
enum BODYPART bp;
flag_t *f;
// where does it go?
f = hasflag(o->flags, F_GOESON);
bp = f->val[0];
// is it better than what we have in that position?
curarm = getarmour(lf, bp);
if (isbetterwepthan(o, curarm)) {
return o;
}
}
}
return NULL;
2010-12-02 12:17:54 +11:00
}
2011-02-01 06:16:13 +11:00
object_t *hasbetterweapon(lifeform_t *lf, obpile_t *op) {
object_t *bestwep, *o;
bestwep = getbestweapon(lf);
for (o = op->first ; o ; o = o->next) {
if (isweapon(o) && isbetterwepthan(o, bestwep) && canweild(lf, o)) {
return o;
}
2010-12-02 12:17:54 +11:00
}
2011-02-01 06:16:13 +11:00
return NULL;
2010-12-02 12:17:54 +11:00
}
2011-02-01 06:16:13 +11:00
2011-02-01 06:16:13 +11:00
// returns B_TRUE if we did something
- [+] 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 lookforobs(lifeform_t *lf) {
object_t *o,*nexto;
2011-02-01 06:16:13 +11:00
enum OBTYPE oid[MAXPILEOBS];
- [+] 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 oidcovet[MAXPILEOBS];
2011-02-01 06:16:13 +11:00
int noids = 0;
enum FLAG wantflag[MAXPILEOBS];
- [+] 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 wantflagcovet[MAXPILEOBS];
2011-02-01 06:16:13 +11:00
int nwantflags = 0;
flag_t *f;
cell_t *c;
int i;
int db = B_FALSE;
- [+] 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
lifeform_t *target;
int targdist = 999;
int covets = B_FALSE;
- [+] 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
target = gettargetlf(lf);
if (target) {
targdist = getcelldist(lf->cell, target->cell);
}
if (wantdb && lfhasflag(lf, F_DEBUG)) {
db = B_TRUE;
} else {
db = B_FALSE;
}
2011-02-01 06:16:13 +11:00
makewantedoblist(lf, &noids, oid, oidcovet, &nwantflags, wantflag, wantflagcovet);
- [+] outdoor bug: at -1,-1. travel south. end up at 0,0!!! - [+] blink should go to random place within lof, not los - [+] sunglasses shuld reduce nightvis range, not visrange * [+] since jolt needs adjacency, make it more powerful - [+] use colours for spell descriptions - [+] replace 'call wind' with 'zephyr' * [+] add vault commonality. - [+] add more common vaults - roundabout etc * [+] change "addmonster" to take a string arg instrad of RACEID - [+] pouring cursed water on blessed scroll didn't work..... - [+] append "...god of xxx" to rc_god lifeforms - [+] try to attack with f_pain -> INFINITE LOOP. - [+] ARMOURPIERCE shouldn't hurt armour - [+] ghast touchparalyze attack isn't working. * [+] bug: when praying to gods, ones not in heaven aren't listed. - [+] when a god apepars..."Hecta appears" x2 - [+] attacking fleeing lf should count as a backstab (if you have the skill) * [+] "nothing happens" during god spell effects * [+] allow hunger to work on monsters - [+] pressing 'a' on @Magic has weird results. - [+] bug: got a gift form yumi during combat???? what for? healing? initial vampire implementation initial god implementation - [+] they all start off in "heaven" map. - [+] gods ahve f_piety. starts at 0 - [+] keep track of piety with each god. starts at 0 for each one. * [+] let planeshift take you to heaven (for debugging) * [+] everyone has 'pray' ability. - [+] modpiety(rid, amt) * [+] piety vals * [+] when you pray - [+] isangry(god) - ie is piety < 0 * [+] if you pray when god is angry, bad! * [+] once piety gets over 200 or so, praying might give you a gift. * [+] god_appears(lifeform_t *victim) - [+] if >=0 (indiff / pleased), goes up to indiff over time(1 per turn). - [+] regain through doing actions ... in progress - [+] lose through doing actions only if you have prayed to this god before (angergodmaybe) - [+] special: gods don't need LOS to cast spells. - [+] gods planeshift away if not doing anything else. * [+] @g to see your piety levels for each god - [+] ?g for help on gods - [+] IN general: - [+] prey = oneoff effect - [+] gift = ongoing * [+] makeangry() vs modpiety * [+] Yumi - fem,mercy/healing - if you die within the first few turns! Hecta - partial Avamon - partial
2011-08-04 04:43:05 +10:00
2011-02-01 06:16:13 +11:00
// current cell has an object we want?
for (o = lf->cell->obpile->first ; o ; o = nexto) {
nexto = o->next;
if (aiwants_real(lf, o, &covets, &noids, oid, oidcovet, &nwantflags, wantflag, wantflagcovet)) {
int getit = B_TRUE;
// if we are in battle only go for it if we covet it
if (target && !covets) getit = B_FALSE;
if (isdangerousob(o, lf, B_TRUE) || !aipickupok(lf, o)) getit = B_FALSE;
if (getit) {
if (db) dblog(".oO { current cell has ob i want (%s) }",o->type->name);
// try to pick it up
if (!aipickup(lf, o)) return B_TRUE;
if (db) dblog(".oO { pickup of %s failed, trying to eat! }",o->type->name);
if (!eat(lf, o)) return B_TRUE;
if (db) dblog(".oO { eating %s failed }",o->type->name);
- [+] 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
}
2011-02-01 06:16:13 +11:00
}
}
2011-02-01 06:16:13 +11:00
// current cell has better weapon?
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if (lfhasflag(lf, F_HUMANOID) && hasbp(lf, BP_WEAPON)) {
f = hasflag(lf->flags, F_WANTSBETTERWEP);
if (f) {
- [+] 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
// if we are in battle only go for it if we covet it
if (!target || (f->val[1] == B_COVETS)) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
o = hasbetterweapon(lf, lf->cell->obpile);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
if (o && !isdangerousob(o, lf, B_TRUE) && aipickupok(lf, o) && canpickup(lf, o, 1)) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if (db) dblog(".oO { current cell has better weapon (%s) }",o->type->name);
// try to pick it up
if (!aipickup(lf, o)) return B_TRUE;
if (db) dblog(".oO { pickup of better wep %s failed! }",o->type->name);
}
2011-02-01 06:16:13 +11:00
}
}
}
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if (lfhasflag(lf, F_HUMANOID)) {
// current cell has better armour?
f = hasflag(lf->flags, F_WANTSBETTERARM);
if (f ) {
- [+] 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
// if we are in battle only go for it if we covet it
if (!target || (f->val[1] == B_COVETS)) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
o = hasbetterarmour(lf, lf->cell->obpile);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
if (o && !isdangerousob(o, lf, B_TRUE) && aipickupok(lf, o) && canpickup(lf, o, 1)) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if (db) dblog(".oO { current cell has better armour (%s) }",o->type->name);
// try to pick it up
if (!aipickup(lf, o)) return B_TRUE;
if (db) dblog(".oO { pickup of better armour %s failed! }",o->type->name);
}
2011-02-01 06:16:13 +11:00
}
}
}
// look around for objects which we want, if we don't already have a targetcell.
if (!hasflag(lf->flags, F_TARGETCELL)) {
if (db) dblog(".oO { no targetcell, so looking for remote objects }");
for (i = 0 ; i < lf->nlos; i++) {
int gothere = B_FALSE;
c = lf->los[i];
if ((c != lf->cell) && !c->lf && !lfhasflagval(lf, F_IGNORECELL, c->x, c->y, NA, NULL)) {
- [+] 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 celldist;
celldist = getcelldist(lf->cell, c);
for (o = c->obpile->first ; o ; o = nexto) {
nexto = o->next;
if (aiwants_real(lf, o, &covets, &noids, oid, oidcovet, &nwantflags, wantflag, wantflagcovet)) {
- [+] 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
gothere = B_TRUE;
// if we are in battle only go for it if we covet it and
// it's closer than our target
if (target) {
if (!covets || (celldist > targdist)) {
gothere = B_FALSE;
}
2011-02-01 06:16:13 +11:00
}
if (gothere) {
if (db) dblog(".oO { remote cell has ob i want (%s). setting f_targetcell. }",o->type->name);
break;
}
} // end if aiwantsthisob
} // end foreach ob in cell
2011-02-01 06:16:13 +11:00
if (!gothere) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if (lfhasflag(lf, F_HUMANOID) && hasbp(lf, BP_WEAPON)) {
// remote cell has better weapon?
f = hasflag(lf->flags, F_WANTSBETTERWEP);
if (f) {
- [+] 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
// if we are in battle only go for it if we covet it
if (!target ||
((f->val[1] != B_COVETS) && (celldist <= targdist)) ) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
o = hasbetterweapon(lf, c->obpile);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
if (o && !isdangerousob(o, lf, B_TRUE) && aipickupok(lf, o) &&
canpickup(lf, o, 1)) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if (db) dblog(".oO { remote cell has better weapon (%s). setting f_targetcell }",o->type->name);
gothere = B_TRUE;
}
2011-02-01 06:16:13 +11:00
}
}
}
}
if (!gothere) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if (lfhasflag(lf, F_HUMANOID)) {
// remote cell has better armour?
f = hasflag(lf->flags, F_WANTSBETTERARM);
if (f) {
- [+] 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
if (!target ||
((f->val[1] != B_COVETS) && (celldist <= targdist)) ) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
o = hasbetterarmour(lf, c->obpile);
- [+] thrown objects taking no damage due to hardness * [+] DIETY is slow. - [+] map bug - from 0,0, walk NE (off top edge). i end up at 0,0 again!!! * [+] ALLOW ROTATING OF VAULTS - [+] BUG: dig X only goes 1 cell. - [+] add a U shaped turn vault. - [+] change wehre i apply HADRNESS for lfs! - don't use adjustdammaterial cause we inherit there - [+] make obchance/thingchance part of habitat_t - [+] make sense surroundings take cartography skill into account * [+] BUG: rotated at() etc not working. - [+] if you fail stealing, the target should get angry!!! - [+] make sure to redraw stat bar when mind scan finishes. - [+] villages - [+] initial code * [+] town gaurds. stand next to the gate - [+] potion shop vault - [+] implement - [+] potion shop isn't getting potions!! - [+] and getting wrong floor type. * [+] stop shop from always being at the top left. - [+] make sure its x/y arent too close to edge of map (at least 5 away) - [+] vault param. f_mapmargin, 5 - [+] make calcroompos take x/y margin - [+] don't put auto obs inside vaults - [+] town walls - [+] more kinds of shops * [+] signs outside shops - [+] bug with ai swapping between firearms and twohanded weapons. fixed. * [+] make _CELLS_ have habitats! - [+] move vaultchance to a habitat param instead of getvaultchance() * [+] shopkeepers (special race) village things: - [+] barrels, - [+] guards, - [+] statue - [+] thrown objects should still take damage if blocked via a shield * [+] hardness (must do dam >= xx to hurt) * [+] WATER spread mods * [+] very powerful spells have casttime - [+] allow linkstairs() to take a parameter rather than always jsut searching for the other end - [+] when digging holes, only use getrandomadjcell if there is an lf in the way. and then use WE_NOLF. clear out solid cells - [+] show armour EVASION penalty in describeob - [+] teleportation trap. You reintegrate inside a solid object! You die.--More--. - [+] riverroom vault * [+] water: swap { and ~ again?? - [+] make "large puddle of water" evaporate more quickly * [+] special glyph case: for deep water
2011-06-29 18:48:48 +10:00
if (o && !isdangerousob(o, lf, B_TRUE) && aipickupok(lf, o) &&
canpickup(lf, o, 1)) {
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
if (db) dblog(".oO { remote cell has better armour (%s). setting f_targetcell }",o->type->name);
gothere = B_TRUE;
}
2011-02-01 06:16:13 +11:00
}
}
}
}
if (gothere) {
2011-05-20 06:30:58 +10:00
// cast a spell?
if (cancast(lf, OT_S_CALLWIND, NULL) && haslof(lf->cell, c, LOF_NEED, NULL)) {
if (!castspell(lf, OT_S_CALLWIND, NULL, o, c)) {
// successful
return B_TRUE;
}
}
2011-02-01 06:16:13 +11:00
// start walking towards target cell
* [+] 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 (aigoto(lf, c, MR_OB, o, AI_FOLLOWTIME)) {
return B_FALSE;
}
2011-02-01 06:16:13 +11:00
}
}
}
}
if (db) dblog(".oO { didn't find any obs i want }");
2011-02-01 06:16:13 +11:00
return B_FALSE;
}
void makewantedoblist(lifeform_t *lf, int *noids, enum OBTYPE *oid, int *oidcovet,int *nwantflags, enum FLAG *wantflag, int *wantflagcovet) {
int i;
flag_t *f;
flag_t *retflag[MAXCANDIDATES];
int nretflags;
// construct a list of objects which we want
*noids = 0;
getflags(lf->flags, retflag, &nretflags, F_WANTS, F_WANTSOBFLAG, F_NONE);
for (i = 0; i < nretflags; i++) {
f = retflag[i];
if (f->id == F_WANTS) {
oid[*noids] = f->val[0];
oidcovet[*noids] = (f->val[1] == B_COVETS) ? B_TRUE : B_FALSE;
(*noids)++;
} else if (f->id == F_WANTSOBFLAG) {
wantflag[*nwantflags] = f->val[0];
wantflagcovet[*nwantflags] = (f->val[1] == B_COVETS) ? B_TRUE : B_FALSE;
(*nwantflags)++;
}
}
if (hasflag(lf->flags, F_HUNGER)) {
// monsters dont normaly need to eat. if they have hunger, it's due
// to a spell.
wantflag[*nwantflags] = F_EDIBLE;
wantflagcovet[*nwantflags] = B_TRUE;
(*nwantflags)++;
}
}
2011-03-16 15:45:46 +11:00
// try to use an item with the given flag on ourself.
// returns B_FALSE if successful
int useitemwithflag(lifeform_t *lf, enum FLAG whichflag) {
object_t *o;
for (o = lf->pack->first ; o ; o = o->next) {
if (hasflag(o->flags, whichflag)) {
if (aiobok(lf, o, lf)) {
if (o->type->obclass->id == OC_POTION) {
if (canquaff(lf, o)) {
quaff(lf, o);
return B_FALSE;
}
} else if (o->type->obclass->id == OC_SCROLL) {
if (!readsomething(lf, o)) {
return B_FALSE;
}
} else if ((o->type->obclass->id == OC_WAND) && getcharges(o)) {
// if wand, use it on ourself
if (!operate(lf, o, lf->cell)) {
return B_FALSE;
}
// here on are special cases
} else if (o->type->id == OT_ASHCONCEAL) {
throwat(lf, o, lf->cell);
2011-03-16 15:45:46 +11:00
}
}
}
}
// failed to use an item
return B_TRUE;
}
- [+] 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