nexus/nexus.c

2491 lines
59 KiB
C
Raw Normal View History

2011-02-01 06:16:13 +11:00
#include <assert.h>
2010-12-02 12:17:54 +11:00
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
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
#include <sys/time.h>
2011-02-01 06:16:13 +11:00
#include <time.h>
* [+] 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
#include <unistd.h>
2011-02-01 06:16:13 +11:00
#include "ai.h"
#include "attack.h"
#include "data.h"
2010-12-02 12:17:54 +11:00
#include "io.h"
2011-02-01 06:16:13 +11:00
#include "flag.h"
- [+] bug: getobvlue price keeps going up - [+] make food poisoning last longer! - [+] bug: pet starting in water - [+] ability to pay at shops using gems? but no change. - [+] implement - [+] require speech skill at a certain level (novice) - [+] reveal attack location for unseen attacks - [+] bug: poisonbolt spell shouldn't cause fire damage to objects! - [+] return to your original form after dying when polymorphed, but just retain SOME hp - [+] new spell: shapeshift - [+] like polymorph but only affects yourself and always controlled - [+] you have to pick something you can see - [+] spell power determiens hitdice you can copy - [+] purify food now works on all your objects, not just one - [+] Nature god(farming, creation) - [+] Ekrub - [+] doesn't like wyrms because they destroy things? - [+] objects - [+] has a pitchfork vs dragons - [+] longbow of xxx - [+] sun hat - [+] overalls - [+] gloves - [+] effects: - [+] canwill all nature spells - [+] likes - [+] killing animals (but only while hungry) - [+] killing dragons - [+] casting nature spells - [+] creating objects or lfs (wish, monsters, food) - [+] dislikes: - [+] destroying objects - [+] attackob() - [+] throwing a flask which shatters - [+] crush objects underfoot - [+] via non-nature spells...? - [+] poison - [+] attacking plants - [+] casting poison spells (same with other antipoison gods!) - [+] sacrifice: - [+] animal corpses - [+] dragon corpses - [+] pray: - [+] battle: - [+] will come to your aid against wyrms - [+] OTHERWISE: - [+] entangle enemies - [+] lightning - [+] summon plants to help you - [+] nonbattle: - [+] purify food on player - [+] THEN one of the following: - [+] cure poison - [+] fix hunger or give food - [+] heal - [+] give ammo (if ranged weapon equipped and out of ammo) - [+] give it. - [+] make it "of seeking" (ie. always hits) - [+] mend armour - [+] bless armour - [+] gifts - [+] ability: calm animals, power 10 - [+] can shapeshift into a bear - [+] resist poison - [+] resist cold - [+] ranged weapon - [+] magic ammo for ranged weapons - [+] angry (minor) - [+] no nature spells work while god is angry ? - [+] taint your food and any food you touch - [+] summons entangling vines around you - [+] angry (major) - [+] one of: - [+] cloudkill - [+] summon storm - [+] surround you with sawgrass
2012-02-01 12:31:36 +11:00
#include "god.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"
2010-12-02 12:17:54 +11:00
#include "nexus.h"
#include "objects.h"
#include "save.h"
- [+] 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
#include "spell.h"
2011-02-01 06:16:13 +11:00
#include "text.h"
VAULTS * [+] vaiultlegend_t * [+] vaultdef_t - [+] implement addlegend() - [+] implement addvault() - [+] function to read in a vault from a data file - [+] vs_noid - [+] vs_loadingmap - [+] vs_loadinglegend - [+] vs_loadingflags - [+] vs_loading - [+] load all vaultdefs in at start - [+] change createroom to calculate the posistion - [+] for each room, give a %chance of haivng a vault. (based on habitat?) * [+] createvault(map_t, roomid?, char *vaultid) - [+] mapdata with letters * [+] MSG up vault errors on load. - [+] Select job _before_ generating first map. * [+] make addob() handle door flags: * [+] addob() improvements * [+] wish bug: first object goes in pack, rest on ground. - [+] genericise getroomedge() - [+] finish 'autodoors' (at the end, add doors if none already done) - [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x, v1=y, v2=pct text=what * [+] "what" can be: * [+] scatter:y1:x2:y2:what:chance%:howmany * [+] some way to make the @map bit just say 'random room at least 2x4' - [+] make "scatter" able to take range instead of count. - [+] make "scatter"able to take x% instead of count. - [+] upsidedown chars no longer working with winch() - [+] ensure no DUPE ids - [+] make legend take percentages (optional) - [+] make "at" take negative values... OPTIONS - [+] autodoors - put doors on edges like with normal dungeon rooms. * [+] autopop - fill with obs/monsters like normal rooms VAULT FILES - [+] flooded room - [+] labyrinth - [+] vault (lots of money, locked secret doors) - [+] monster zoos (money and monsters) - [+] diningroom - lots of tables and chairs - [+] circleroom - [+] pillared room - [+] glass pillared room - [+] cockatrice lair (statues) - [+] traproom - need "random trap". need OC_TRAP. - [+] BUG: piranhas walking out of water sometimes....... - [+] add startatt x-y rather than just a bracket. use text field. - [+] make teleport auto move away form lfs - [+] add minotaur
2011-06-02 18:34:44 +10:00
#include "vault.h"
2010-12-02 12:17:54 +11:00
material_t *material = NULL,*lastmaterial = NULL;
objectclass_t *objectclass = NULL,*lastobjectclass = NULL;
objecttype_t *objecttype = NULL,*lastobjecttype = NULL;
2011-03-10 16:47:18 +11:00
brand_t *firstbrand = NULL,*lastbrand = NULL;
obmod_t *firstobmod = NULL,*lastobmod = NULL;
2010-12-02 12:17:54 +11:00
celltype_t *firstcelltype = NULL,*lastcelltype = NULL;
behaviour_t *firstbehaviour = NULL,*lastbehaviour = NULL;
2011-03-04 12:22:36 +11:00
command_t *firstcommand = NULL,*lastcommand = NULL;
2010-12-02 12:17:54 +11:00
race_t *firstrace = NULL,*lastrace = NULL;
* [+] bug: secret doors revealed when we walk away from them. - [+] make lamps last heaps longer * [+] web spell * [+] spider monstrer * [+] funnelweb: * [+] redback: - [+] if you are wracked with pain, don't clear msg - [+] check rarity for spiders * [+] attack/defense mod if there is stickiness in your square - [+] replace "sticky" with "restrictive" * [+] make some mosnters start hidden - [+] adjust spot checks basd on distance - [+] ensure that attacking stops you hiding - [+] casting spells stops you from being hidden - [+] hidden mosnters shouldn't move unless their victim is ADJACENT. - [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless their victim is ADJACENT. - [-] XP CALC - [+] funnelweb and redback are the same. - [+] check this is right...... i want funnel web to be worse. - [+] make hitconfer check in calcxpval take lifetime into account - [+] ALSO assign an xp rating to each hitconferred flag. - [+] hardcode this. * [+] entangle spell - [+] reveal secret doors if you see them get damaged. * [+] make askcoords list restrivitce objects - [+] ACTUALLY make vines not damaged by struggling * [+] object descriptions, a/an needs to change if showing condition: "a battered entangling vine" - [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't happen! - [+] The human diety reads a blessed scroll of create monster! -- but nothing happens?? * [+] throw code - [+] wizard: ask for school specialty at start, from: fire, ice, xxx ? You get this + WILD. - [+] describe varpower spells - [+] fix mp cost for varpower spells - [+] we're not stopping running at staircases anymore for some reason. - [+] CHARGE ability (like swoop but don't return to original positino) - [+] need to honor f_canlearn when displaying new skills to learn! - [+] ai: if we are going to player's last known loc (via targetcell), abandon if we can SEE the player! - [+] make shatter() into a function - [+] oil potion makes oil puddle whan smashed - [+] make flammable objects be able to convert to others - [+] replace 'magic item usage' with 'channeling' - [+] a cloud of darkness descends. this is a *cursed* wand of light. - [+] spiders shouldn't be able to be stuck in a web! * [+] spells should be able to have MULTIPLE schools. - [+] don't bleed into walls - [+] in @M, use colours to show which spells are too hard so far (ie cost > maxmp) * [+] in @M, use schools that you know * [+] after loading game, barbarian is getting an extra attack? You miss the eyebat. You punch the eyebat. - [+] show objects on top of stairs - [+] stuck mosnters must pass a saving throw to follow you up/down stairs - [+] genericise: trytomove(lf) * [+] add more snakes - [+] undead can't eat or drink? or MOST undead can't. * [+] why can MONSTERS shoot webs through things? (but I can't) - [+] barkskin - doesn't reduce max mp enough? - [+] The skeleton touches a fuming aqua potion [tried] then recoils in pain! The skeleton drops a blessed fuming aqua potion [tried]. The skeleton drinks a fuming aqua potion! - [+] why can't i use abilites anymore? - [+] infinite loop bug due to ai only having one ignorecell. - [+] make sleet storms rust all armour - [+] make a kind of walkdam that hits armour - [+] add this as well as walkdam for: acid, fire, water - [+] Takeoff isn't prompting properly. only showing weapons! * [+] waterproof obs (ie cloak) * [+] walkdambp doesn't hurt body if you have a cloak NATURE SPELLS: - [+] mending, heals 1d6 damage - [+] spark - [+] purify food - [+] sticks to snakes - [+] calm animals (power_d4 hd) * [+] charm animal (works on one animal up to power hit dice, temporary) - [+] airblast - [+] barkskin (power +2 AR, firevuln, ongoing) - [+] soften earth (makes ground into mud) - [+] warp wood (damages wooden objects) - [+] repel insects - [+] reduce poison - [+] web - [+] windshield - [+] call lightning, air - [+] resist elements, ongoing - [+] passwall - [+] poisonbolt - [+] quench (puts out a fire) - [+] sleet storm (lowers movement, vision) - [+] healing - [+] cure poison * [+] calming scent - [+] dig - [+] entangle - [+] levitate - [+] flamepillar - [+] hailstorm. like sleetstorm but hurts more. power d 6. - [+] burning wave - [+] gaseous form * [+] knowledge skills: * [+] force makespellchoicelist() to show spells in level order. * [+] druid - [+] check OBJECT rarity list (dumplev) - [+] fix bug where heaps of books suddently appear from dlev 3 onwards - [+] gain skills on level up for some jobs - [+] f_levspellschool, v0=lev, v1 = school or ANY - select one from that school
2011-04-23 14:27:42 +10:00
raceclass_t *firstraceclass = NULL,*lastraceclass = NULL;
- [+] bug: when ally can't see you it goes to sleep - [+] after waking it just goes to sleep again!!! - [+] bug:npc warriors aren't starting with a weapon - [+] shouldn't be able to shieldblock if youre asleep!!! - [+] allies sohuld announce what they are doing - [+] "I'm attacking a goblin" - [+] I just killed a goblin - [+] I need some rest soon... - [+] make sure only HUMANS do this...hu - [+] F_EXTRADESC v0 should be 'order'. - [+] makedesc_skill should honour this - [+] makedesc_spell - [+] same with other makedesc() functions - [+] auto-inc this when adding them. - [+] allies not properly following me downthe stairs - [+] armour that can cover multiple body parts - [+] f_goesonmulti - [+] multiple f_equipped flags. - [+] handle multiple f_equipped in takeoff() - [+] all required bodyparts must both be clear - [+] if not, prompt to remove both things. - [+] check all code for f_equipped copes with multiple occurences... - [+] display as: f - a wetsuit (worn over body and on legs) - [+] update io.c. "it is worn over xxx and yyy)" - [+] heat metal spell - [+] weilded metal burns hands and you drop it (unless immunte to fire/burn) - [+] metal armour damages you (1-4 each) - [+] metal lifeforms take huge damage - [+] all lifeforms should have at least novice level knowledge of their own raceclass - [+] new raceclass - dragons - [+] define it - [+] define skill for it - [+] make jobs know the skill - [+] red dragon - [+] high armourrating - [+] swoop - [+] fly - [+] breath weapon - [+] spells - [+] heat metal - [+] fireball - [+] burning wave - [+] want gold - [+] immune to fire - [+] red dragon hatchling - [+] generally lwoer power, only has heat metal and spark ? - [+] spellcasttext for individual spells - [+] ancient red dragon - [+] higher hp and armourrating - [+] more damage - [+] more spells
2011-11-07 13:12:04 +11:00
recipe_t *firstrecipe = NULL,*lastrecipe = NULL;
2011-02-01 06:16:13 +11:00
job_t *firstjob = NULL,*lastjob = NULL;
poisontype_t *firstpoisontype = NULL,*lastpoisontype = NULL;
2011-03-10 16:47:18 +11:00
skill_t *firstskill = NULL,*lastskill = NULL;
habitat_t *firsthabitat = NULL,*lasthabitat = NULL;
2010-12-02 12:17:54 +11:00
map_t *firstmap = NULL,*lastmap = 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
map_t *heaven = NULL;
region_t *firstregion = NULL,*lastregion = NULL;
regionoutline_t *firstregionoutline = NULL,*lastregionoutline = NULL;
branch_t *firstbranch = NULL,*lastbranch = NULL;
2010-12-07 18:34:26 +11:00
knowledge_t *knowledge = NULL, *lastknowledge = NULL;
2011-03-10 16:47:18 +11:00
hiddenname_t *firsthiddenname = NULL, *lasthiddenname = 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
npcname_t *npcname;
int numnpcnames;
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
int totalraces = 0;
condset_t ccwalkable;
condset_t ccwalkableroom;
condset_t ccroom;
2010-12-02 12:17:54 +11:00
extern lifeform_t *godlf[];
extern int ngodlfs;
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
extern int gfxready;
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
extern WINDOW *mainwin;
- [+] don't place draininge grates on low floor!! - [+] gate spell should always take you to a location wihtout water!! - [+] enhance speak with dead spell (SPEAKDEAD) - [+] may ask "how did you die" plus one of the below: - [+] tell me about the area - [+] mark stairs on the map - [+] mark shops on the map - [+] tell about very rare objects - [+] tell me about nearby dangers - [+] tell about odd monsters - [+] tell about traps - [+] test - [+] let you ask peaceful lfs about the surroundings too - [+] move code into io.c "askaboutarea(char *who)" - [+] test - [+] the first time you ask someone for info, randomly determine whether they know about: - [+] stairs (high chance) - [+] shops (medium chance) - [+] traps (low chance) - [+] areacomms_danger should include out of depth monsters - need isoutofdepth(lf) - [+] room floors should take the entry type from the habitat, NOT just use ct_room!!!! - [+] sometimes generate fixed SEWER regionthings - [+] done - [+] BUG: canT enter goblin caves again!!!! - [+] getting "ERROR - can't find opposite end of stairs/portal!" - [+] FAILED to link stiars: 'tunnel leading up' - [+] make maps direct you to regionthings. - [+] region things need unique IDs !!! - [+] change F_MAPTO - [+] v0 = src region id - [+] v1 = src depth - [+] v2 = regionthing with whatkind = RT_REGIONLINK - [+] when generating map objects, fill in a random branch entry - [+] fix getobname code for unknown maps. - [+] TEST - [+] with "map to the goblin caves" - [+] with "map" - [+] with "map to" - [+] use "the goblin caves are to the north", not "is to the north" - [+] is - [+] isn't - [+] test reading a map when on the wrong branch - [+] test reading a map when on the wrong level - [+] test reading a map when on the right level - [+] move staircase generation to END of map create - [+] finalisemap() - [+] countobswithflagval(obpile, flagid, val0...) - [+] countmapobswithflagval(map, flagid, v0...) - [+] jimbo's map should lead you to one of the major branches. - [+] crit pos shouldn't be higher than you can reach! - [+] same size or bigger = can reach anything - [+] 1 size smaller = you can't reach the head - [+] 2 sizes smaller = can't reach head or hands - [+] 3 sizes smaller = can't reach head, hands or body - [+] jimbo's room should contain all the staircases - [+] make you have to pass a speech check before people will tell you about the area - [+] bug in recruitment skillchecks - using wrong attribute, and too easy. - [+] rename dwarf to delver - [+] somtimes say "dons" instead of "puts on"
2012-01-05 02:54:28 +11:00
int nextregionthingid = 0;
- [+] glorana doesn't like you attacking during Glorana's Peace - [+] make more shops let you donate - [+] bookstore - [+] jewellery store - [+] rename blood hawk to hunting hawk - [+] offering a bribe to creatures should make them move likely to helkp you, AND reset the "auto don't help' flag - [+] change "get lost " message to "get lost, <racename>" if your race is different. - [+] sayphrase() needs a new arg: lifeform_t *talkingto - [+] colours for spell effect. - [+] eg. "the flame dart hits xxx" should use CC_BAD - [+] muddy room - mud should be immutable. - [+] maybe change rage - you lose control totally and just attack anything in sight? - [+] do it. - [+] don't train when enraged - [+] don't hear sounds when enraged - [+] RAGE effects: strength bonus, accuracy bonus, infinite stamina, never flee, - [+] fix bug in skill point calculation - [+] CRASH - someone got their turn BEFORE the player! - [+] new poisontype field - contracttext - [+] hecta's pray effect not working. - [+] adjust food poisioning check difficulty based on food age - [+] check OBHP percentage of max. - [+] >= 80% obhp means -30% difficulty check - [+] ring of unholiness should confer dtvuln holy. - [+] fix colour on spellclouds - [+] fix bug with spellclouds not affecting centre cell. - [+] if you are frozen, heat does extra damage and cold does none. - [+] when frozen, lessen chance of melting. - [+] reduce bite damage of snakes - [+] balaclava should protect from gas - [+] make some floor types (like carpet) be multicoloured - [+] celltype->altcolour - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is true. - [+] don't regain stamina while training - [+] random text in shops - sayphrase needs to cope with lf == null - [+] done - [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with staves! - [+] BUG: in vault.vlt. - [+] "30% chance of door" really means "otherwise empty cell" - [+] need to be able to say "else put a wall here" - [+] so change: - [+] c:type:what[:pct] - [+] to this: - [+] c:type:what[:pct][:alttype:altwhat] - [+] vlegend_t needs - [+] enum VAULTTHING tt2 - [+] char *what2 - [+] they default to VT_NONE, NULL - [+] secret doors should take their fake wall type from the vault spec - [+] vaults need f_celltypeempty/solid flags - [+] add via: solid:xxx in vault def - [+] recycler - [+] donate anything
2012-07-15 15:01:58 +10:00
int playerorigalignment = AL_NONE;
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
buildingusage_t buildingusage[MAXBUILDINGTYPES];
int nbuildingusage = 0;
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
warning_t *firstwarning = NULL,*lastwarning = NULL;
- [+] prevent ALL overlapping rooms! - [+] stop running for any non-cosmetic object. - [ ] echoing? - [+] OPTIONS - [+] option_t - [+] id - [+] letter - [+] text - [+] int enabled - [+] int default - [+] next/prev - [+] addoption() - [+] getoption() - [+] dooptions() - [+] list them all (with 'more' for multipages) - [+] pressing a letter toggles it. - [+] "display trails" - [+] make scents be "cosmetic"! - [+] increaes skeleton's vulnerability to falling - [+] missing announcement for bleed() - [+] let rapid ivy cast entangle - [+] caves - [+] new regiontype - [+] new link - [+] new habitat - [+] objectlass rarities - [+] assign obs/mons to habitat - [+] code to dig caves - [+] stairs linking to cave region - [+] when learning random skills: - [+] prefer lower-level skills - [+] onyl learn up to adept level - [+] animate dead crashes if there is no space to place the lifeform! - [+] increase range of charge ability - [+] when you gain techusage, check held objects for conferred flags. - [+] bug: motion scanner working even though i have no tech usage! - [+] warn player before climbing without climb skill (if wisdom is >= average) - [+] regions should have depthmod. - [+] regionthings should be based on DEPTH, not difficulty! - [+] rename firstdungeon to maindungeon - [+] announcearrival broken -always saying 'new area' - [+] don't use ranged attacks when feigning death if target is adjacent - [+] don't say 'argh' if you were beheaded. - [+] The bear cub bites a wooden door with a teeth.--More-- - [+] random levelup skills - only select from skills which we have used? - [+] need to chance f_hasskill to use f->val[2] = used_this_level - [+] when you gain a skill, set f>val[2] = b_false or NA - [+] add setskillused for all skills! - [+] make random levleup only pick from used skills. - [+] TEST - [+] knowledge skills - practice them when you see a new lf of this type. - [+] slithering shoudl hardly ever awaken you - make listen check harder. - [+] don't put fireplaces in corridors. F_ONLYINROOM ? - [+] bug: acid trails from slug disappearing or never appearing? - [+] snails/slugs - [+] killed by salt - [+] vslow - [+] snails have vhigh armourrating - [+] slugs have lots of hp and do more damage - [+] brown/grey 'j' ? - [+] leave slime/acid trails?
2012-01-03 12:21:22 +11:00
option_t *firstoption = NULL,*lastoption = NULL;
plural_t *firstplural = NULL,*lastplural = NULL;
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
- [+] BUG: arrows shouldn't be able to trigger arrow traps!!! - [+] king piranhas shouldn't leap out of the water! - [+] don't catch thrown missiles if it will burden us - [+] in @@, show "accuracy" as a seperate line, not with your weapon. - [+] higher chance of learning psionics on level up. - [+] fix up monster hp - too easy to kill most things in one hit with dam = 4-12, 2 attacks (ie. l6 monk) - [+] dump out all mosnters sorted by hit dice (show avg hp) - [+] fix them up - [+] vault->entertext - ie "you enter a dining room" - [+] make random monster generation go by hitdice AND rarity rr_. IGNORE rarity value. - [+] start with hd = level. sometimes incrase - [+] remove all rarity values from monsters - [+] disorient might need to be higher level than stun - [+] make psionic spell mp cost be level, rather than level^2? - [+] ai bug: - [+] .oO { looking for a target . } .oO { found an enemy target - lfid 256 (human) ! } .oO { default - moving randomly } - [+] reduce cost for higher levle spells agian. - [+] prevent player from eating an ice sheid! - [+] bug when eating from the floor with multiple food items there - [+] assassin's blink spell - teleport behind and facing someone. medium level translocation. - [+] make "chunk of roast meat" be "chunk of roast goblin meat" - [+] and base nutrition on corpse type - [+] highlevel sixth sense should let you turn to face it * [+] add prompt text to msg hist: - [+] sixth sense should only pick up hostile monsters - [+] need a good reason that wizards can't wear armour. - [+] if isplayer(), failure chance depends on any arm/shield penalties - [+] show f_impassable in describeob() - [+] no walking backwards/sideways if you're stuck in a web/vine. can only turn. - [+] objects for protection: - [+] eyeglasses (+vision) - [+] safety goggles - [+] ERROR - stairs link to existing map 0('the surface(0,0) (id #0)', depth 1), but it has no free stairs. - [+] when we restart map regeneration, must first REMOVE referenecs to this map!!! - [+] implemented. - [+] fixed bug with sleep interruption - [+] You attack the helpless the dwarf monk! You flatten the dwarf monk! The dwarf monk loses consciousness. damage's robe protects it. - [+] add stamina cost to other abilities - [+] add descriptions to lore skills - [+] make athletics skill give you more stamina? * [+] monstesr stopping fleeing when they can't see player
2011-09-28 04:56:58 +10:00
int maxmonhitdice = 0; // highest number of hitdice for any monster
- [+] glorana doesn't like you attacking during Glorana's Peace - [+] make more shops let you donate - [+] bookstore - [+] jewellery store - [+] rename blood hawk to hunting hawk - [+] offering a bribe to creatures should make them move likely to helkp you, AND reset the "auto don't help' flag - [+] change "get lost " message to "get lost, <racename>" if your race is different. - [+] sayphrase() needs a new arg: lifeform_t *talkingto - [+] colours for spell effect. - [+] eg. "the flame dart hits xxx" should use CC_BAD - [+] muddy room - mud should be immutable. - [+] maybe change rage - you lose control totally and just attack anything in sight? - [+] do it. - [+] don't train when enraged - [+] don't hear sounds when enraged - [+] RAGE effects: strength bonus, accuracy bonus, infinite stamina, never flee, - [+] fix bug in skill point calculation - [+] CRASH - someone got their turn BEFORE the player! - [+] new poisontype field - contracttext - [+] hecta's pray effect not working. - [+] adjust food poisioning check difficulty based on food age - [+] check OBHP percentage of max. - [+] >= 80% obhp means -30% difficulty check - [+] ring of unholiness should confer dtvuln holy. - [+] fix colour on spellclouds - [+] fix bug with spellclouds not affecting centre cell. - [+] if you are frozen, heat does extra damage and cold does none. - [+] when frozen, lessen chance of melting. - [+] reduce bite damage of snakes - [+] balaclava should protect from gas - [+] make some floor types (like carpet) be multicoloured - [+] celltype->altcolour - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is true. - [+] don't regain stamina while training - [+] random text in shops - sayphrase needs to cope with lf == null - [+] done - [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with staves! - [+] BUG: in vault.vlt. - [+] "30% chance of door" really means "otherwise empty cell" - [+] need to be able to say "else put a wall here" - [+] so change: - [+] c:type:what[:pct] - [+] to this: - [+] c:type:what[:pct][:alttype:altwhat] - [+] vlegend_t needs - [+] enum VAULTTHING tt2 - [+] char *what2 - [+] they default to VT_NONE, NULL - [+] secret doors should take their fake wall type from the vault spec - [+] vaults need f_celltypeempty/solid flags - [+] add via: solid:xxx in vault def - [+] recycler - [+] donate anything
2012-07-15 15:01:58 +10:00
int playerhasmoved = B_FALSE;
double presin[360];
double precos[360];
VAULTS * [+] vaiultlegend_t * [+] vaultdef_t - [+] implement addlegend() - [+] implement addvault() - [+] function to read in a vault from a data file - [+] vs_noid - [+] vs_loadingmap - [+] vs_loadinglegend - [+] vs_loadingflags - [+] vs_loading - [+] load all vaultdefs in at start - [+] change createroom to calculate the posistion - [+] for each room, give a %chance of haivng a vault. (based on habitat?) * [+] createvault(map_t, roomid?, char *vaultid) - [+] mapdata with letters * [+] MSG up vault errors on load. - [+] Select job _before_ generating first map. * [+] make addob() handle door flags: * [+] addob() improvements * [+] wish bug: first object goes in pack, rest on ground. - [+] genericise getroomedge() - [+] finish 'autodoors' (at the end, add doors if none already done) - [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x, v1=y, v2=pct text=what * [+] "what" can be: * [+] scatter:y1:x2:y2:what:chance%:howmany * [+] some way to make the @map bit just say 'random room at least 2x4' - [+] make "scatter" able to take range instead of count. - [+] make "scatter"able to take x% instead of count. - [+] upsidedown chars no longer working with winch() - [+] ensure no DUPE ids - [+] make legend take percentages (optional) - [+] make "at" take negative values... OPTIONS - [+] autodoors - put doors on edges like with normal dungeon rooms. * [+] autopop - fill with obs/monsters like normal rooms VAULT FILES - [+] flooded room - [+] labyrinth - [+] vault (lots of money, locked secret doors) - [+] monster zoos (money and monsters) - [+] diningroom - lots of tables and chairs - [+] circleroom - [+] pillared room - [+] glass pillared room - [+] cockatrice lair (statues) - [+] traproom - need "random trap". need OC_TRAP. - [+] BUG: piranhas walking out of water sometimes....... - [+] add startatt x-y rather than just a bracket. use text field. - [+] make teleport auto move away form lfs - [+] add minotaur
2011-06-02 18:34:44 +10:00
extern vault_t *firstvault;
extern flag_t *retflag[];
extern int nretflags;
* [+] 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
glyph_t playerglyph,tempglyph;
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
double startticks,lastticks;
struct timeval starttv, tv,newtv;
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to cmoe from lore:arcana instead - [+] rename magic skillls to sorcery:fire etc? - [+] adjust spell power calculation to take lack of sorcery skill int oaccount - [+] allow '\' during getchoice() and getchoicestr() - [+] so that we can see what we have identified - [+] lower metabolism while lmeditating - [+] poisonous mushrooms - [+] toadstool - poisonous - [+] shiitake - normal - [+] recognise via cooking skill - [+] if you add a blood ob, 1 randmo piece of armour in the pile becomes bloodstained - [+] accuracy boost when attacking something who has grabbedyou - [+] lessen gravitiy should prvent falls * [+] bug: - [+] add job descriptions - [+] handle ESC in askchar - [+] You attack the helpless the xat! You flatten the xat! - [+] "the helpless the xat" - [+] shoiuldn't use "flatten" sinec we're not killing it - [+] You attack the helpless xat! You kill the xat! - [+] ...but it wasn't dead! - [+] flame pillar scroll no longer works - [+] not asking for target. - [+] use castspell - [+] cope with 'ESC' presses during normal travel - [+] allow "maycancel" in askchar - [+] make wizards NOT automatically know wild magic - [+] is F_MPMOD working? check with elf wizard....... - [+] now it is. - [+] bug: create an elf, go over it, v - CRASH in makedesc_race. - [+] removeob() should update burdened status - [+] ie drinking a potion - [+] wizards start with a staff and a pointy hat - [+] don't "stir in your slumber" if meditating - [+] elves should have higher mp - [+] dwarves should have lower mp - [+] when monsters fail to open a door, abandon their targetcell - [+] might be able to jsut make failing a dooropen count as a move failure. - [+] HiGrv didn't stop me from moving? i passed the skill check, need to have a msg telling me this. - [+] race descriptions. - [+] add the descriptions - [+] ? in @@ shows info on them. - [+] (add ?=help in the bottom when in @ mode regardless of showall) - [+] make clouds expand as they disappate - [+] modify gethitstokill() to take "useevasion" and "usearmour" as a parameter - [+] at adept lore, you get threat comparison. at skilled level you get exact hit turns. - [+] make threat calculation use gethitstokill - [+] TEST new threat calc * [+] way too easy to notice traps on chests from 4-5 cells away, with only novice perception - [+] make cloudkill create puff of poison gas rather than a cloud - [+] attacking should count as movement (ie dont regen stamina) - [+] need more body bash criticals. - [+] torso bruised (acc penalty) - [+] torso bruised badly (higher acc penalty, low dam penalty) - [+] ribs broken (huge acc penalty, med dam penalty) - [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3 turns) - [+] should stop flying when you lose ocnsciousness... - [+] warn before moving with f_pain as well. maybe cahnge confirm_injiury_action ??? - [+] extra warrior skill: aimed strike - [+] -50%acc - [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
extern int enteringmap;
2011-02-01 06:16:13 +11:00
// maintains unique lifeform ID numbers
long nextlfid = 0;
int SCREENW = DEF_SCREENW;
int SCREENH = DEF_SCREENH;
// object return list
object_t *retobs[MAXPILEOBS+1];
int retobscount[MAXPILEOBS+1];
int nretobs = 0;
2010-12-02 12:17:54 +11:00
FILE *logfile;
2011-02-01 06:16:13 +11:00
prompt_t prompt;
char msghist[MAXHISTORY][BUFLEN];
int nmsghist = 0;
2010-12-02 12:17:54 +11:00
enum ERROR reason; // global for returning errors
2011-02-01 06:16:13 +11:00
void *rdata; // globel for returning data
2010-12-02 12:17:54 +11:00
lifeform_t *player = NULL;
int gameover;
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 obdb = B_FALSE;
enum GAMEMODE gamemode = GM_FIRST;
- [+] delvers should always want money for info, unless you are a delver too. - [+] mirror image (mental) - [+] varpower - [+] makes power 'clone' lfs who look the same as caster - [+] ie. same race. - [+] also same job/armour/weps? - [+] add f_noxp - [+] add f_nocorpse - [+] add f_summonedby so they vanish when the caster dies - [+] add f_phantasm - [+] vanish after _power_ hits, - [+] attacks do 0 damage - [+] don't announce innefectual attacks - [+] dont cast spells or use abilities - [+] petify() them if made by the player - [+] force them to stay close. - [+] in io.c or getlfname, show "[clone]" if it has f_phantasm and was created by player - [+] mosnters try to attack them. - [+] once one gets hit enough times, it disappears - [+] if the caster dies or changes level, they disappear. - [+] can't talk to them - [+] their obejcts vanish when they die - [+] don't talk - [+] make Yumi more about forgiving silly mistakes and avoiding instakills - [+] remove liking of healing - [+] remove like of healing spells - [+] takes a long time to anger. - [+] aviod traps (bamf you away before they trigger) - [+] prayers: - [+] resist stoning (pray while appropriate creatures around) - [+] resist paralysis (pray while appropriate creatures around) - [+] sleep on enemies - [+] passive powers: - [+] always warn as if wisdom is high (passive) - [+] always save when killed right after using stairs (passive) "well, that seemed unfair." - [+] gift: - [+] auto sixth sense - [+] potions of restoration - [+] ring of miracles - [+] shouldn't be able to Offer while enraged. - [+] don't lose stamina while caffeinated - [+] new vault: pit with walkway around it - [+] bug: when worshipping yumi you get "you kill xxx" but they're still alive - [+] ... but they're still alive! - [+] ... for yumi, move KO chance from losehp() to attacklf(). - [+] do the check BEFORE setting 'fatal' - [+] pass forceko to losehp_real - [+] bug: adjustdamhardness should only trigger when ismeleedam() is true, not isphysicaldam() - [+] greatly reduce motel cost - [+] change order in attack.c: apply damage THEN announce, to deal with KO - [+] do it. - [+] test KO code. - [+] then check that feign death still works - [+] demonskin vest should be flammable or vulnerable to fire. - [+] time to get up should depend on size. - [+] less than human: shortnone - [+] human: normal - [+] larger than human: longer - [+] expert unarmed now gives you 'flip' - [+] reduce damage done by low-level monsters - [+] change resoration into a spell - [+] implement - [+] test - [+] new spell: ressurection - [+] corpses need to remember their lf's level - [+] test - [+] godstone of life - revives/restores all - [+] rename "confiscate" to "yoink", and make it take a random object at power 1, selected at power 2 - [+] gods should attack player if they are Enraged or Furious - [+] is STR calc to see if you can push a boulder still working? - [+] change to wizards: - [+] start at novice in all magic skills (but don't gain initial spells) - [+] killing undead should please glorana LOTS. because it's hard to gain piety with her otherwise. - [+] restoration spells/potion should hurt undead - [+] healing spells/potions should hurt undead - [+] immolate shouldnt work if there is aleady a fire tehre. CODE FOR WINNING THE GAME: - [+] get at least one godstone - [+] exit the dungeon - [+] find the portal to the realm of gods - [+] opposing god should appear once you pick up a godstone, and tell you what to do next. - [+] "come to the realm of gods and use it to destroy (related god)" - [+] "or if you lack the courage, give it to me!" - [+] "you will find a portal on the surface" - [+] use the portal to teleport to realm of gods - [+] implement text for all gods... - [+] god text in wt_god - should say 'but you werent meant to replace them!' - [+] EITHER: - [+] challenge and defeat the god related to this godstone (more points. "Crowned the god of xxx.") - [+] TEST - [+] offer the godstone to the godstone's opposing god (less points, "Ascended to demigod-hood.") - [+] implement - [+] TEST GODSTONES: - [+] klikirak: rage - [+] done - [+] (make this one have fire effects too) - [+] glorana: life - [+] Felix shouldn't be able to yoink the godstone off you! - [+] Write up the rest of the Godstone finding text..... - [+] magic - [+] battle - [+] life - [+] mercy - [+] you can't hurt gods unless you - [+] a) have their godstone - [+] b) are in the realm of gods
2012-02-17 16:16:45 +11:00
enum WINGAMETYPE wintype = WT_NONE;
2010-12-02 12:17:54 +11:00
long curtime = 0; // # current game clock (in seconds)
long gamedays = 0; // # game days passed since start of game
long gamesecs = 0; // # game seconds passed since start of game
long timeleft = 0; // # secs remaining for which we need to process events
int prevhour = -1; // previous Hour
2011-02-01 06:16:13 +11:00
extern int statdirty;
int needredraw = B_TRUE;
int numdraws = 0;
int flagcheck = B_FALSE;
* [+] 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
// for xp list debugging
extern race_t **raceposs;
extern int *xpposs;
2011-02-01 06:16:13 +11:00
2022-08-28 14:06:22 +10:00
// random seed
long seed = 0;
2011-02-01 06:16:13 +11:00
int main(int argc, char **argv) {
object_t *o;
2011-03-11 12:25:38 +11:00
char welcomemsg[BUFLEN];
* [+] 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 ch;
FILE *playerfile = NULL;
int foundsavegame = B_FALSE;
- move all definitions into data.c / data.h - [+] monsters should start sprinting if targetlf is sprinting && we can sprint && we aren't sprinting * [+] The kobold throws a potion of sleep at you. A potion of sleep hits you. A potion of sleep shatters! You are showered in glass shards! * [+] in getchoicestr, when there is only one valid choice, show its description below! - [+] in getchoicestr: - [+] remember desc_end_y - [+] if our typed text doesn't match, and desc_end_y is set - [+] blank out those lines - [+] in ], show letters and let you view amrour - [+] Still occasionally have bugs where no up stairs are placed in the first level!!!!! - [+] put in debugging to show if we ever destroy a staircase - [+] test when it happens again..... - [+] for "pentagram pulses black", if you can't see the estination, still say "your xxx flies away" - [+] change listen code: you can only hear one _footstep_ noise per turn, but any number of other things. - [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a certain %age. ie. f_modmaxhp 80% to get lower. - [+] jobs can no longer have F_HITDICE - [+] instead, they have F_MAXHPMOD - [+] why am i getting wet and drowning while flying?? - [+] show f_canwill SPELLS under abilities, not spells?? - More playable races - [+] need f_playablerace - [+] can pick when you start the game (before you pick job) - [+] human - [+] implement f_jobattrmod - [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT. - [+] ALL PLAYABLE RACES must have FULL sets of STARTATT * [+] elf * [+] dwarf - [+] aviad (birdfolk) - [+] can fly - [+] vuln to electric attacks - [+] vuln++ to fire - [+] ---str - [+] cyborg - [+] +str, +int, +dex, +con - [+] ---cha - [+] -wis - [+] vulnerable to lightning, water,cold - [+] cannot use any magic, or med-high chance of spell failure - [+] bleeds oil rather than water - [+] see exact hp damage (f_extrainfo) - [+] tech usage. - [+] remember race in highscores.
2011-09-19 11:47:35 +10:00
int x,y,i;
cell_t *c,*targc;
VAULTS * [+] vaiultlegend_t * [+] vaultdef_t - [+] implement addlegend() - [+] implement addvault() - [+] function to read in a vault from a data file - [+] vs_noid - [+] vs_loadingmap - [+] vs_loadinglegend - [+] vs_loadingflags - [+] vs_loading - [+] load all vaultdefs in at start - [+] change createroom to calculate the posistion - [+] for each room, give a %chance of haivng a vault. (based on habitat?) * [+] createvault(map_t, roomid?, char *vaultid) - [+] mapdata with letters * [+] MSG up vault errors on load. - [+] Select job _before_ generating first map. * [+] make addob() handle door flags: * [+] addob() improvements * [+] wish bug: first object goes in pack, rest on ground. - [+] genericise getroomedge() - [+] finish 'autodoors' (at the end, add doors if none already done) - [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x, v1=y, v2=pct text=what * [+] "what" can be: * [+] scatter:y1:x2:y2:what:chance%:howmany * [+] some way to make the @map bit just say 'random room at least 2x4' - [+] make "scatter" able to take range instead of count. - [+] make "scatter"able to take x% instead of count. - [+] upsidedown chars no longer working with winch() - [+] ensure no DUPE ids - [+] make legend take percentages (optional) - [+] make "at" take negative values... OPTIONS - [+] autodoors - put doors on edges like with normal dungeon rooms. * [+] autopop - fill with obs/monsters like normal rooms VAULT FILES - [+] flooded room - [+] labyrinth - [+] vault (lots of money, locked secret doors) - [+] monster zoos (money and monsters) - [+] diningroom - lots of tables and chairs - [+] circleroom - [+] pillared room - [+] glass pillared room - [+] cockatrice lair (statues) - [+] traproom - need "random trap". need OC_TRAP. - [+] BUG: piranhas walking out of water sometimes....... - [+] add startatt x-y rather than just a bracket. use text field. - [+] make teleport auto move away form lfs - [+] add minotaur
2011-06-02 18:34:44 +10:00
vault_t *v;
- [+] idea: only see forwards? (ie. in last dir moved) - [+] add player->facing - [+] this gets set to the last move direction - [+] you can only see in an arc in front of you - [+] going backwards just changes facing (and takes less time) - [+] shift+samedir = run - [+] shift + otherdir = walk without turning / strafe - [+] when ai is moving towards a seen target, always strafe - [+] when fleeing, you can turn your back. - [+] make strafing backwards/sideays take longer - [+] enhanced-smell means you can see all LIFEFORMS or _smell obects_ in all directions - [+] ie. look in all dirs, but in precalclos(), can only see RD_BACKWARDS/SIDEWAYS cells if they have lfs - [+] define "smelly" objects - non-undead lifeforms, food, ot_scent. f_smellable - [+] make eyedestroyed half your FOV (lose the right side) - [+] change pirate to start with permenant IJ_EYEDESTROYED - [+] mosnters should always turn to face sounds - [+] shields should give no AR, but have a chance of blocking all damage based on shield skill - [+] healing potions should fix nonpermenant injuries (check for this after checking for missing bodyparts) - [+] shouldn't remember map cells anything when bezerk - [+] show skillxp until next skill in @@ - [+] only allow 'c' to close doors which you can see. - [+] bug in precalclos when going off map. - [+] even with 0 cartography, remember cells. but then forget once they're >4 cells away. - [+] Exp Level: 3 (-2147483087 XP, 2147483704 for next) - [+] add asserts - [+] calcxp is sometimes returning -xxxxxxx. turned on debugging. - [+] wait for it to happen again - [+] bug: player can see own cell when maxvisrange = 0(resting) - [+] mods for perception skill: - [+] adept pereption: FOV widened - [+] expert perception: leave no footprints (rather than partically obscure) - [+] master perception: see in nearly all dirs
2011-09-12 09:52:14 +10:00
enum SKILLLEVEL slev;
- [+] remove "inscribe" spell for now. - [+] beginner perception should let you see next to you. - [+] fix trail directions when checking stairs - [+] make labyrinth vault be a proper labyrinth shape - [+] 'spark' should affect floor obs even if there is a lf there. - [+] cursed scroll of awareness should blind you for 10-20 turns. - [+] bug: monsters trying to flee through locked drainage grate.s - [+] new god: Bjorn the battlelord - [+] Pray effects: - [+] bless weapon - [+] bezerk - [+] true strike - [+] haste - [+] Likes: battles (ie. kill last enemy in lof) - [+] Dislike: - [+] calming - [+] poison - [+] magic (wands, spells etc) - [+] retreat (moving away with back turned) "Coward!" - [+] gifts: - [+] weapons, armour - [+] sacrifice: - [+] untouched battle spoils - [+] after dropping objects, add f_battlespoils if YOU killed the ownert. - [+] remove this if/when the object gets moved again - [+] splatter blood - [+] minor anger: - [+] rust your armour / weapon - [+] major anger: - [+] destroy your armour - [+] destroy your weapon - [+] summon lots of enemies - [+] new god: Lumara - fem, magic - [+] likes: - [+] most things which train magic skills - [+] ie. casting spells - [+] using wands - [+] reading scrolls - [+] dislikes: - [+] missile weapons - [+] pray: - [+] restore mp if low - [+] identify books/scrolls - [+] remove curses - [+] gift: - [+] spellbooks - [+] manuals of spell schools - [+] extra mp - [+] angry minor: - [+] lose mp - [+] forget a spell - [+] angry: - [+] spells stop working (100% failure chance) - [+] forget all spells - [+] polymorph you into something bad - [+] sacrifice - [+] weapons / armour
2012-01-25 20:20:15 +11:00
flag_t *retflag[MAXCANDIDATES];
int nretflags;
map_t fakemap;
cell_t fakecell;
2010-12-02 12:17:54 +11:00
atexit(cleanup);
2022-08-28 14:06:22 +10:00
while ((ch = getopt(argc, argv, "f:hr:sS:")) != -1) {
* [+] 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
switch (ch) {
case 'f':
playerfile = fopen(optarg, "rt");
if (!playerfile) {
fprintf(stderr, "cannot open player file: %s\n",optarg);
exit(1);
}
break;
2022-08-28 14:06:22 +10:00
case 'r':
seed = atol(optarg);
break;
case 's':
showhiscores(NULL, 1, 10);
exit(0);
break;
case 'S':
i = atoi(optarg);
limit(&i, 1, 100);
showhiscores(NULL, 1, i);
exit(0);
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
case 'h':
case '?':
default:
usage(argv[0]);
exit(0);
}
}
2010-12-02 12:17:54 +11:00
// init params
2011-02-01 06:16:13 +11:00
if (init()) {
exit(1);
}
// load savegame, if available
foundsavegame = loadall();
if (foundsavegame) {
region_t *r;
map_t *m;
lifeform_t *l;
// fill in gods
r = findregionbytype(BH_HEAVEN);
m = findregionmap(r->id, 1);
ngodlfs = 0;
for (l = m->lf ; l ; l = l->next) {
if (getraceclass(l) == RC_GOD) {
godlf[ngodlfs++] = l;
}
}
}
2010-12-02 12:17:54 +11:00
// init graphics
initgfx();
VAULTS * [+] vaiultlegend_t * [+] vaultdef_t - [+] implement addlegend() - [+] implement addvault() - [+] function to read in a vault from a data file - [+] vs_noid - [+] vs_loadingmap - [+] vs_loadinglegend - [+] vs_loadingflags - [+] vs_loading - [+] load all vaultdefs in at start - [+] change createroom to calculate the posistion - [+] for each room, give a %chance of haivng a vault. (based on habitat?) * [+] createvault(map_t, roomid?, char *vaultid) - [+] mapdata with letters * [+] MSG up vault errors on load. - [+] Select job _before_ generating first map. * [+] make addob() handle door flags: * [+] addob() improvements * [+] wish bug: first object goes in pack, rest on ground. - [+] genericise getroomedge() - [+] finish 'autodoors' (at the end, add doors if none already done) - [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x, v1=y, v2=pct text=what * [+] "what" can be: * [+] scatter:y1:x2:y2:what:chance%:howmany * [+] some way to make the @map bit just say 'random room at least 2x4' - [+] make "scatter" able to take range instead of count. - [+] make "scatter"able to take x% instead of count. - [+] upsidedown chars no longer working with winch() - [+] ensure no DUPE ids - [+] make legend take percentages (optional) - [+] make "at" take negative values... OPTIONS - [+] autodoors - put doors on edges like with normal dungeon rooms. * [+] autopop - fill with obs/monsters like normal rooms VAULT FILES - [+] flooded room - [+] labyrinth - [+] vault (lots of money, locked secret doors) - [+] monster zoos (money and monsters) - [+] diningroom - lots of tables and chairs - [+] circleroom - [+] pillared room - [+] glass pillared room - [+] cockatrice lair (statues) - [+] traproom - need "random trap". need OC_TRAP. - [+] BUG: piranhas walking out of water sometimes....... - [+] add startatt x-y rather than just a bracket. use text field. - [+] make teleport auto move away form lfs - [+] add minotaur
2011-06-02 18:34:44 +10:00
// warn about vault problems.
for (v = firstvault ; v ; v = v->next) {
if (!v->valid) {
msg("warning: invalid vaultfile '%s'",v->filename); more();
}
2010-12-02 12:17:54 +11:00
}
- move all definitions into data.c / data.h - [+] monsters should start sprinting if targetlf is sprinting && we can sprint && we aren't sprinting * [+] The kobold throws a potion of sleep at you. A potion of sleep hits you. A potion of sleep shatters! You are showered in glass shards! * [+] in getchoicestr, when there is only one valid choice, show its description below! - [+] in getchoicestr: - [+] remember desc_end_y - [+] if our typed text doesn't match, and desc_end_y is set - [+] blank out those lines - [+] in ], show letters and let you view amrour - [+] Still occasionally have bugs where no up stairs are placed in the first level!!!!! - [+] put in debugging to show if we ever destroy a staircase - [+] test when it happens again..... - [+] for "pentagram pulses black", if you can't see the estination, still say "your xxx flies away" - [+] change listen code: you can only hear one _footstep_ noise per turn, but any number of other things. - [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a certain %age. ie. f_modmaxhp 80% to get lower. - [+] jobs can no longer have F_HITDICE - [+] instead, they have F_MAXHPMOD - [+] why am i getting wet and drowning while flying?? - [+] show f_canwill SPELLS under abilities, not spells?? - More playable races - [+] need f_playablerace - [+] can pick when you start the game (before you pick job) - [+] human - [+] implement f_jobattrmod - [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT. - [+] ALL PLAYABLE RACES must have FULL sets of STARTATT * [+] elf * [+] dwarf - [+] aviad (birdfolk) - [+] can fly - [+] vuln to electric attacks - [+] vuln++ to fire - [+] ---str - [+] cyborg - [+] +str, +int, +dex, +con - [+] ---cha - [+] -wis - [+] vulnerable to lightning, water,cold - [+] cannot use any magic, or med-high chance of spell failure - [+] bleeds oil rather than water - [+] see exact hp damage (f_extrainfo) - [+] tech usage. - [+] remember race in highscores.
2011-09-19 11:47:35 +10:00
// init prompt
for (i = 0; i < MAXCHOICES; i++) {
choice_t *ch;
ch = &prompt.choice[i];
ch->text = NULL;
ch->desc = NULL;
ch->longdesc = NULL;
- move all definitions into data.c / data.h - [+] monsters should start sprinting if targetlf is sprinting && we can sprint && we aren't sprinting * [+] The kobold throws a potion of sleep at you. A potion of sleep hits you. A potion of sleep shatters! You are showered in glass shards! * [+] in getchoicestr, when there is only one valid choice, show its description below! - [+] in getchoicestr: - [+] remember desc_end_y - [+] if our typed text doesn't match, and desc_end_y is set - [+] blank out those lines - [+] in ], show letters and let you view amrour - [+] Still occasionally have bugs where no up stairs are placed in the first level!!!!! - [+] put in debugging to show if we ever destroy a staircase - [+] test when it happens again..... - [+] for "pentagram pulses black", if you can't see the estination, still say "your xxx flies away" - [+] change listen code: you can only hear one _footstep_ noise per turn, but any number of other things. - [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a certain %age. ie. f_modmaxhp 80% to get lower. - [+] jobs can no longer have F_HITDICE - [+] instead, they have F_MAXHPMOD - [+] why am i getting wet and drowning while flying?? - [+] show f_canwill SPELLS under abilities, not spells?? - More playable races - [+] need f_playablerace - [+] can pick when you start the game (before you pick job) - [+] human - [+] implement f_jobattrmod - [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT. - [+] ALL PLAYABLE RACES must have FULL sets of STARTATT * [+] elf * [+] dwarf - [+] aviad (birdfolk) - [+] can fly - [+] vuln to electric attacks - [+] vuln++ to fire - [+] ---str - [+] cyborg - [+] +str, +int, +dex, +con - [+] ---cha - [+] -wis - [+] vulnerable to lightning, water,cold - [+] cannot use any magic, or med-high chance of spell failure - [+] bleeds oil rather than water - [+] see exact hp damage (f_extrainfo) - [+] tech usage. - [+] remember race in highscores.
2011-09-19 11:47:35 +10:00
}
2010-12-07 18:34:26 +11:00
// if we didn't load a game, add the player
if (!foundsavegame) {
- [+] intelligent (ie. more than animal) ai shouldn't move if it will cause damage - [+] move_will_hurt() - [+] ie. if in PAIN, or appropriate injury. - [+] if you're deaf, use "the xx says something" rather than "the xx says yy" - [+] STILL reachability errors in dlev 6 (jimbos' lair not linked) - [+] new forest habitat mechanism - clusters of trees - [+] bashing injury if you are slammed into a wall? - [+] jimbo didn't have a weapon! "+2 halberd" not working - [+] if you don't have knowledge about a creature, still show items (but only equipped ones) - [+] listen skill should take longer to train - [+] candle should last longer - [+] carrot grants temp darkvision - [+] shouldn't be able to eat stuff from floor while levitating - [+] CHANGE f_hitdice to use text - [+] fear spell from dretch always failing even on l1 player. why? * [+] summondemon spell - [+] adjust spell damage - 1d6 per level. ice spells: - [+] l4 - ice armour (higher power means more pieces of ice armour) - [+] (power/3)+1 pieces of armour. ie. 1 - 4 - [+] order: body,helmet, gloves, feet - [+] 4AC each. * [+] l5 - shardshot (higher level ray damage, does less damage the further away it goes) - [+] l5 - snap freeze ? turn one lf to ice? - [+] more things which use light attacks (ie. make glasses useful) - [+] replace bp_righthand with bp_rightfinger - [+] bug in blink spell: "Nothing seems to happen." - [+] make metal resist bite/slash/chop, not be immune. - [+] fix shatter spell on glass wall * [+] bug: in jimbos vault and plaeyrstart2, exits are being added in in appropriate places. * [+] make player's starting point be a "prison_cell" vault. - [+] earplugs - stop all sound. - [+] make f_deaf an intrinsic (ie. announcements) - [+] add the object critical hits: - [+] "you hit xxx" "xxx turns to flee" "xxx's leg is bruised" - [+] need losehp to NOT trigger fightback in this case - we will trigger it ourself after crithit. - [+] pass this as a param? - [+] critical eye hits - [+] scraped eyelid (slash, lower accuracy) - [+] black eye (bash, lower vision range and charisma) - [+] destroyed eye (pierce, permenant lower vision range!) - [+] injuries heal heaps faster when asleep - [+] redo f_injured flag to use an "enum INJURY" IJ_xxx - [+] change how it is applied - [+] change how it is announced (io.c) - [+] change how effects work (search for F_INJURY) - [+] pierce - [+] pierced artery: v.high bleed - [+] stabbed heart (instant death, very unlikely) - [+] slash: - [+] cut flexor tendon (cannot weild ANY weapon) - [+] slashed hamstring (fall. skillcehck every time you move, vslow movement) - [+] severed finger - [+] finger drops to the ground - [+] ring drops to the ground - [+] (get nobodypart bp_rightfinger or bp_leftfinger) - [+] bash: - [+] dislocated arm (cannot weild anything heavy in that hand) - [+] broken rib (reduced carrying capacity) - [+] swelled ankle (cannot remove or put on boots)
2011-09-06 08:04:51 +10:00
char *user,pname[BUFLEN],buf[BUFLEN];
* [+] 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
job_t *j = NULL;
- move all definitions into data.c / data.h - [+] monsters should start sprinting if targetlf is sprinting && we can sprint && we aren't sprinting * [+] The kobold throws a potion of sleep at you. A potion of sleep hits you. A potion of sleep shatters! You are showered in glass shards! * [+] in getchoicestr, when there is only one valid choice, show its description below! - [+] in getchoicestr: - [+] remember desc_end_y - [+] if our typed text doesn't match, and desc_end_y is set - [+] blank out those lines - [+] in ], show letters and let you view amrour - [+] Still occasionally have bugs where no up stairs are placed in the first level!!!!! - [+] put in debugging to show if we ever destroy a staircase - [+] test when it happens again..... - [+] for "pentagram pulses black", if you can't see the estination, still say "your xxx flies away" - [+] change listen code: you can only hear one _footstep_ noise per turn, but any number of other things. - [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a certain %age. ie. f_modmaxhp 80% to get lower. - [+] jobs can no longer have F_HITDICE - [+] instead, they have F_MAXHPMOD - [+] why am i getting wet and drowning while flying?? - [+] show f_canwill SPELLS under abilities, not spells?? - More playable races - [+] need f_playablerace - [+] can pick when you start the game (before you pick job) - [+] human - [+] implement f_jobattrmod - [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT. - [+] ALL PLAYABLE RACES must have FULL sets of STARTATT * [+] elf * [+] dwarf - [+] aviad (birdfolk) - [+] can fly - [+] vuln to electric attacks - [+] vuln++ to fire - [+] ---str - [+] cyborg - [+] +str, +int, +dex, +con - [+] ---cha - [+] -wis - [+] vulnerable to lightning, water,cold - [+] cannot use any magic, or med-high chance of spell failure - [+] bleeds oil rather than water - [+] see exact hp damage (f_extrainfo) - [+] tech usage. - [+] remember race in highscores.
2011-09-19 11:47:35 +10:00
race_t *startrace = NULL;
2011-02-01 06:16:13 +11:00
char ch;
//object_t *o;
2011-02-01 06:16:13 +11:00
cell_t *where;
- [+] 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 dir;
* [+] 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
flag_t *f;
region_t *wregion, *dregion,*hregion;
map_t *dmap,*surfmap;
2011-02-01 06:16:13 +11:00
// create the dungeon layout
initmaplayout();
// populate scroll, potion, etc names
genhiddennames();
- move all definitions into data.c / data.h - [+] monsters should start sprinting if targetlf is sprinting && we can sprint && we aren't sprinting * [+] The kobold throws a potion of sleep at you. A potion of sleep hits you. A potion of sleep shatters! You are showered in glass shards! * [+] in getchoicestr, when there is only one valid choice, show its description below! - [+] in getchoicestr: - [+] remember desc_end_y - [+] if our typed text doesn't match, and desc_end_y is set - [+] blank out those lines - [+] in ], show letters and let you view amrour - [+] Still occasionally have bugs where no up stairs are placed in the first level!!!!! - [+] put in debugging to show if we ever destroy a staircase - [+] test when it happens again..... - [+] for "pentagram pulses black", if you can't see the estination, still say "your xxx flies away" - [+] change listen code: you can only hear one _footstep_ noise per turn, but any number of other things. - [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a certain %age. ie. f_modmaxhp 80% to get lower. - [+] jobs can no longer have F_HITDICE - [+] instead, they have F_MAXHPMOD - [+] why am i getting wet and drowning while flying?? - [+] show f_canwill SPELLS under abilities, not spells?? - More playable races - [+] need f_playablerace - [+] can pick when you start the game (before you pick job) - [+] human - [+] implement f_jobattrmod - [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT. - [+] ALL PLAYABLE RACES must have FULL sets of STARTATT * [+] elf * [+] dwarf - [+] aviad (birdfolk) - [+] can fly - [+] vuln to electric attacks - [+] vuln++ to fire - [+] ---str - [+] cyborg - [+] +str, +int, +dex, +con - [+] ---cha - [+] -wis - [+] vulnerable to lightning, water,cold - [+] cannot use any magic, or med-high chance of spell failure - [+] bleeds oil rather than water - [+] see exact hp damage (f_extrainfo) - [+] tech usage. - [+] remember race in highscores.
2011-09-19 11:47:35 +10:00
// read from rc file if required
* [+] 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 (playerfile) {
char *p;
while (!feof(playerfile)) {
fgets(buf, BUFLEN, playerfile);
buf[strlen(buf)-1] = '\0';
if (strstr(buf, "job:") == buf) {
p = buf + strlen("job:");
j = findjobbyname(p);
if (j) break;
}
}
fseek(playerfile, 0, SEEK_SET);
2011-02-01 06:16:13 +11:00
}
* [+] 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
- move all definitions into data.c / data.h - [+] monsters should start sprinting if targetlf is sprinting && we can sprint && we aren't sprinting * [+] The kobold throws a potion of sleep at you. A potion of sleep hits you. A potion of sleep shatters! You are showered in glass shards! * [+] in getchoicestr, when there is only one valid choice, show its description below! - [+] in getchoicestr: - [+] remember desc_end_y - [+] if our typed text doesn't match, and desc_end_y is set - [+] blank out those lines - [+] in ], show letters and let you view amrour - [+] Still occasionally have bugs where no up stairs are placed in the first level!!!!! - [+] put in debugging to show if we ever destroy a staircase - [+] test when it happens again..... - [+] for "pentagram pulses black", if you can't see the estination, still say "your xxx flies away" - [+] change listen code: you can only hear one _footstep_ noise per turn, but any number of other things. - [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a certain %age. ie. f_modmaxhp 80% to get lower. - [+] jobs can no longer have F_HITDICE - [+] instead, they have F_MAXHPMOD - [+] why am i getting wet and drowning while flying?? - [+] show f_canwill SPELLS under abilities, not spells?? - More playable races - [+] need f_playablerace - [+] can pick when you start the game (before you pick job) - [+] human - [+] implement f_jobattrmod - [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT. - [+] ALL PLAYABLE RACES must have FULL sets of STARTATT * [+] elf * [+] dwarf - [+] aviad (birdfolk) - [+] can fly - [+] vuln to electric attacks - [+] vuln++ to fire - [+] ---str - [+] cyborg - [+] +str, +int, +dex, +con - [+] ---cha - [+] -wis - [+] vulnerable to lightning, water,cold - [+] cannot use any magic, or med-high chance of spell failure - [+] bleeds oil rather than water - [+] see exact hp damage (f_extrainfo) - [+] tech usage. - [+] remember race in highscores.
2011-09-19 11:47:35 +10:00
if (!startrace) {
race_t *r;
gamemode = GM_CHARGEN;
* [+] 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
// ask for race
- move all definitions into data.c / data.h - [+] monsters should start sprinting if targetlf is sprinting && we can sprint && we aren't sprinting * [+] The kobold throws a potion of sleep at you. A potion of sleep hits you. A potion of sleep shatters! You are showered in glass shards! * [+] in getchoicestr, when there is only one valid choice, show its description below! - [+] in getchoicestr: - [+] remember desc_end_y - [+] if our typed text doesn't match, and desc_end_y is set - [+] blank out those lines - [+] in ], show letters and let you view amrour - [+] Still occasionally have bugs where no up stairs are placed in the first level!!!!! - [+] put in debugging to show if we ever destroy a staircase - [+] test when it happens again..... - [+] for "pentagram pulses black", if you can't see the estination, still say "your xxx flies away" - [+] change listen code: you can only hear one _footstep_ noise per turn, but any number of other things. - [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a certain %age. ie. f_modmaxhp 80% to get lower. - [+] jobs can no longer have F_HITDICE - [+] instead, they have F_MAXHPMOD - [+] why am i getting wet and drowning while flying?? - [+] show f_canwill SPELLS under abilities, not spells?? - More playable races - [+] need f_playablerace - [+] can pick when you start the game (before you pick job) - [+] human - [+] implement f_jobattrmod - [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT. - [+] ALL PLAYABLE RACES must have FULL sets of STARTATT * [+] elf * [+] dwarf - [+] aviad (birdfolk) - [+] can fly - [+] vuln to electric attacks - [+] vuln++ to fire - [+] ---str - [+] cyborg - [+] +str, +int, +dex, +con - [+] ---cha - [+] -wis - [+] vulnerable to lightning, water,cold - [+] cannot use any magic, or med-high chance of spell failure - [+] bleeds oil rather than water - [+] see exact hp damage (f_extrainfo) - [+] tech usage. - [+] remember race in highscores.
2011-09-19 11:47:35 +10:00
initprompt(&prompt, "Select your race:");
ch = 'a';
for (r = firstrace ; r ; r = r->next) {
if (hasflag(r->flags, F_PLAYABLE)) {
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
char *longdesc;
longdesc = malloc(HUGEBUFLEN * sizeof(char));
makedesc_race(r->id, longdesc, B_TRUE, B_TRUE );
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
addchoice(&prompt, ch++, r->name, NULL, r, longdesc);
free(longdesc);
- move all definitions into data.c / data.h - [+] monsters should start sprinting if targetlf is sprinting && we can sprint && we aren't sprinting * [+] The kobold throws a potion of sleep at you. A potion of sleep hits you. A potion of sleep shatters! You are showered in glass shards! * [+] in getchoicestr, when there is only one valid choice, show its description below! - [+] in getchoicestr: - [+] remember desc_end_y - [+] if our typed text doesn't match, and desc_end_y is set - [+] blank out those lines - [+] in ], show letters and let you view amrour - [+] Still occasionally have bugs where no up stairs are placed in the first level!!!!! - [+] put in debugging to show if we ever destroy a staircase - [+] test when it happens again..... - [+] for "pentagram pulses black", if you can't see the estination, still say "your xxx flies away" - [+] change listen code: you can only hear one _footstep_ noise per turn, but any number of other things. - [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a certain %age. ie. f_modmaxhp 80% to get lower. - [+] jobs can no longer have F_HITDICE - [+] instead, they have F_MAXHPMOD - [+] why am i getting wet and drowning while flying?? - [+] show f_canwill SPELLS under abilities, not spells?? - More playable races - [+] need f_playablerace - [+] can pick when you start the game (before you pick job) - [+] human - [+] implement f_jobattrmod - [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT. - [+] ALL PLAYABLE RACES must have FULL sets of STARTATT * [+] elf * [+] dwarf - [+] aviad (birdfolk) - [+] can fly - [+] vuln to electric attacks - [+] vuln++ to fire - [+] ---str - [+] cyborg - [+] +str, +int, +dex, +con - [+] ---cha - [+] -wis - [+] vulnerable to lightning, water,cold - [+] cannot use any magic, or med-high chance of spell failure - [+] bleeds oil rather than water - [+] see exact hp damage (f_extrainfo) - [+] tech usage. - [+] remember race in highscores.
2011-09-19 11:47:35 +10:00
}
}
startrace = NULL;
while (!startrace) {
getchoicestr(&prompt, B_FALSE, B_TRUE);
startrace = prompt.result;
}
}
if (!j) {
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
enum JOBCATEGORY jcid;
int recommended;
- move all definitions into data.c / data.h - [+] monsters should start sprinting if targetlf is sprinting && we can sprint && we aren't sprinting * [+] The kobold throws a potion of sleep at you. A potion of sleep hits you. A potion of sleep shatters! You are showered in glass shards! * [+] in getchoicestr, when there is only one valid choice, show its description below! - [+] in getchoicestr: - [+] remember desc_end_y - [+] if our typed text doesn't match, and desc_end_y is set - [+] blank out those lines - [+] in ], show letters and let you view amrour - [+] Still occasionally have bugs where no up stairs are placed in the first level!!!!! - [+] put in debugging to show if we ever destroy a staircase - [+] test when it happens again..... - [+] for "pentagram pulses black", if you can't see the estination, still say "your xxx flies away" - [+] change listen code: you can only hear one _footstep_ noise per turn, but any number of other things. - [+] instead of jobs replaceing hitdice, make them _modify_ maxhp by a certain %age. ie. f_modmaxhp 80% to get lower. - [+] jobs can no longer have F_HITDICE - [+] instead, they have F_MAXHPMOD - [+] why am i getting wet and drowning while flying?? - [+] show f_canwill SPELLS under abilities, not spells?? - More playable races - [+] need f_playablerace - [+] can pick when you start the game (before you pick job) - [+] human - [+] implement f_jobattrmod - [+] MOST JOBS SHOULD USE F_JOBATTRMOD instead of F_STARTATT. - [+] ALL PLAYABLE RACES must have FULL sets of STARTATT * [+] elf * [+] dwarf - [+] aviad (birdfolk) - [+] can fly - [+] vuln to electric attacks - [+] vuln++ to fire - [+] ---str - [+] cyborg - [+] +str, +int, +dex, +con - [+] ---cha - [+] -wis - [+] vulnerable to lightning, water,cold - [+] cannot use any magic, or med-high chance of spell failure - [+] bleeds oil rather than water - [+] see exact hp damage (f_extrainfo) - [+] tech usage. - [+] remember race in highscores.
2011-09-19 11:47:35 +10:00
// ask for job
- [+] allow user to DISABLE auto dodge fatal attacks ?. enable through "reflexive dodging" ability - [+] first rotation in a turn takes no time - [+] exploit: if you walk diagonally next to a monster, it moves to your previous space! - [+] fix: aigetlastknownpos should return the cell that trails point to, not the cell _with_ the trails. - [+] only recognise weapon quality (masterwork etc) if you are skilled in that weapon or perception - [+] cope with mosnter necromancers, etc - [+] parserace should look for necromancer etc. - [+] if so, set "wantsubjob" to SJ_NECROMANCER etc - [+] move specialty mage code into "givejobspecialty" - [+] Make wizard's job name depend on primary spell school. - [+] "Demonologist", "Firemage", "Icemage", "Necromancer", "Skymage", "Wizard" (wild) - [+] instead of getjob() then j->name, use "getjobname(lf)" - [+] f_jobname - [+] i should never "hear voices chanting" from an abandoned temple - [+] for monsters, show "its bite inflicts poison" in io.c racial knowledge - [+] casting healing on myself pleased Glorana twice! - [+] one from casting a life spell - [+] one from casting healing. - [+] move ones from spell.c to castspell() - [+] new flag: f_pleasesgod v0=godid, v1=howmuch - [+] add to other spell objects: - [+] f_pleasesgod - [+] GODFIRE - spelllevel * 2 - [+] GODDEATH = spelllevel - [+] GODLIFE = spelllevel*2 - [+] GODNATURE: spelllevle*2 - [+] show this in describespell - [+] for god healing effects, use gainhp() so that it says "Your HP is fully restored." - [+] change F_RESISTMAG to be percentage rather than 1-20 - [+] make some gods' pleasure boost power of related spells - [+] 1 per each positive levle of getpietylev() - [+] glorana: life - [+] hecta: death - [+] only apply auto shortcuts for players. - [+] subjob_t - [+] addsubjob() - [+] killsubjob() - [+] show subjobs in job descriptions. - [+] data.c: addsubjob(.... - [+] in job defs: - [+] f_canhavesubjob sj_xxx - [+] use this to determine whether to ask about them - [+] redo getjobname - [+] remove f_job->Text - [+] speak with dead should only work on corpses of races which can talk. - [+] warrior subclasses - [+] "Scourge" - [+] gains magic resistance as you level up - [+] == 5 + (level * 3) % - [+] nospells - [+] no mana - [+] paladin - [+] blessed gear - [+] can will turn undead - [+] healing magic - [+] god = glorana. - [+] cannot use spells if glorana is angry. - [+] battlemage - [+] starts with one spell school (fire/ice/air) - [+] canlearn fire/ice/air spell schools - [+] limited to adept in all schools - [+] slightly less hp - [+] no warrior abilities
2012-02-24 17:45:23 +11:00
initprompt(&prompt, "Select your base job:");
* [+] 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
ch = 'a';
// sort by recommendaion, then by category
for (recommended = R_VRECOMMENDED ; recommended >= R_NOTRECOMMENDED; recommended--) {
switch (recommended) {
case R_VRECOMMENDED:
addheading(&prompt, "Highly Recommended");
break;
case R_RECOMMENDED:
addheading(&prompt, "Recommended");
break;
case R_NOTRECOMMENDED:
addheading(&prompt, "Not Recommended");
break;
default:
break;
}
for (jcid = JC_FIRST ; jcid <= JC_LAST; jcid++) {
for (j = firstjob ; j ; j = j->next) {
int rec,recok = B_FALSE;
if (j->id == J_GOD) {
rec = -50;
} else {
rec = getjobrecommendation(startrace, j);
}
if ((recommended == R_VRECOMMENDED) && (rec >= 3)) {
recok = B_TRUE;
} else if ((recommended == R_RECOMMENDED) && (rec >= 0) && (rec < 3)) {
recok = B_TRUE;
} else if ((recommended == R_NOTRECOMMENDED) && (rec < 0)) {
recok = B_TRUE;
}
if ((j->category == jcid) && recok && jobpossible(startrace->flags, j->id)) {
char *longdesc,buf[BUFLEN];
longdesc = malloc(HUGEBUFLEN * sizeof(char));
makedesc_job(j, longdesc);
if (!hasflag(j->flags, F_NOPLAYER)) {
// letter isn't used
if (j->id == J_GOD) {
snprintf(buf, BUFLEN, "%-20s(%s)", "Diety", "for debugging");
} else {
snprintf(buf, BUFLEN, "%-20s(%s)", j->name, getjobcatname(j->category));
}
addchoice(&prompt, '-', buf, NULL, j, longdesc);
- [+] better alignment picking - [+] only show valid alignment choices (ie. race & job & subjob alignments don't conflict) - [+] don't show subjobs which aren't valid (ie. vell warrior/paladin) - [+] don't shows jobs which aren't valid (ie. vell druid) - [+] monsters with low wisdom should be able to flee into dangerous cells - [+] ie. wisdom < average - [+] allow selecting your subjob directly, instead of haveing to pick your base job first - [+] restrict low level monsters to only "common" weapons - [+] make consumesouls only work in a given distance - [+] bug: player start room not being linked to rest of map - [+] hawks etc can't swoop away if they somehow get killed/fall asleep during their attack - [+] use adverbs when describing misses ("narrowly miss" "wildly miss" ) - [+] make map light level (well lit etc) determine: - [+] visibility range (remove this from habitat!) - [+] stealth check modifier - [+] show material vulnerabilities in EFFECTS - [+] poison checks are too easy. i had fitness 33 and passed in 1 turn! - [+] i know this is baed on timeleft, so maybe make timeleft count for more ? - [+] bug: infinite loop when player fleeing - [+] imp - [+] TR2 - [+] damage low (sting) - [+] invisibility - [+] immune to cold, fire, electric - [+] magic resist (demon) - [+] regnerate 1hp per turn - [+] remove "modification" school with "wild" - [+] prevent constant 6th sense warnings when something is chasing you - [+] speak with dead should be a divination spell, not death. - [+] hecta worshippers get bonusses for bone weapons - +1 damage. - [+] same with Ekrub and wood weapons
2012-08-01 07:19:04 +10:00
}
free(longdesc);
- [+] better alignment picking - [+] only show valid alignment choices (ie. race & job & subjob alignments don't conflict) - [+] don't show subjobs which aren't valid (ie. vell warrior/paladin) - [+] don't shows jobs which aren't valid (ie. vell druid) - [+] monsters with low wisdom should be able to flee into dangerous cells - [+] ie. wisdom < average - [+] allow selecting your subjob directly, instead of haveing to pick your base job first - [+] restrict low level monsters to only "common" weapons - [+] make consumesouls only work in a given distance - [+] bug: player start room not being linked to rest of map - [+] hawks etc can't swoop away if they somehow get killed/fall asleep during their attack - [+] use adverbs when describing misses ("narrowly miss" "wildly miss" ) - [+] make map light level (well lit etc) determine: - [+] visibility range (remove this from habitat!) - [+] stealth check modifier - [+] show material vulnerabilities in EFFECTS - [+] poison checks are too easy. i had fitness 33 and passed in 1 turn! - [+] i know this is baed on timeleft, so maybe make timeleft count for more ? - [+] bug: infinite loop when player fleeing - [+] imp - [+] TR2 - [+] damage low (sting) - [+] invisibility - [+] immune to cold, fire, electric - [+] magic resist (demon) - [+] regnerate 1hp per turn - [+] remove "modification" school with "wild" - [+] prevent constant 6th sense warnings when something is chasing you - [+] speak with dead should be a divination spell, not death. - [+] hecta worshippers get bonusses for bone weapons - +1 damage. - [+] same with Ekrub and wood weapons
2012-08-01 07:19:04 +10:00
}
}
} // end for jobcat
* [+] 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
}
j = NULL;
while (!j) {
* [+] 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
getchoicestr(&prompt, B_FALSE, B_TRUE);
* [+] 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
j = prompt.result;
}
2011-02-01 06:16:13 +11:00
}
- [+] modifications to alchemy spell - affect stone, not metal - [+] fire/cold spells: - [+] endure fire/cold - [+] L2 - [+] ongoing - [+] like endure elements but only one element. - [+] fire - done - [+] cold - done - [+] negate fire/cold - [+] L3 ongoing - [+] rename "gold coin" to "gold dollar" - [+] announce mosnters losing interest. - [+] if accuracy is too low, chance to fumble your atttack if you miss. - [+] ie. drop weapon - [+] show "please wait' message during initial build. - [+] why can't i fill an empty flask from a potion of blood? - [+] because blood grew into a bigger one - [+] CRASH - go to a shop, 'sell gems', pick a letter not in the list - [+] The giant ant kills the kobold. The kobold dies. - [+] never use "kills" when a monsters is killing another one. - [+] implement CURSED scroll of wishing effects. - [+] stoning - [+] hostile summons - [+] insanity- drop iq prmenantly - [+] golden boulder - [+] proximity mine (l3 tech) - [+] if activated, explodes when someone walks ONTO it (but not _off_ it) - [+] only gtaverage WIS _or_ adept tech knowledge won't walk onto it - [+] rollerskates (wear on feet, move fast fowards) - [+] jet skates (faster version of rollerskates) - [+] only work when ACTIVATED - [+] only work when they have CHARGES left - [+] drain charges when activated (like a jetpack) - [+] cattle prod - piercing DR 1, +10 electical dam while it has charges - [+] f_extradamwithcharges - [+] computers - [+] operable - [+] no pickup (or at least, VERY heavy) - [+] need tech usage to use. - [+] get choices equal to your tech level (novice = random) - [+] choices: - [+] 1 M = map whole level - [+] 2 O = show location of loot (detect objects) - [+] 3 L = show lifeforms - [+] 5 D = explode - [+] 6 I = identify one item. - [+] 7U - unlock all doors + chests - [+] at high techusage you can pick destruct time ?j:e sp
2012-06-25 22:49:53 +10:00
msg("Digging the dungeon...");
// add player in fake cell
createfakes(&fakemap, &fakecell);
real_addlf(&fakecell, startrace->id, 1, C_PLAYER); // this will assign 'player'
// give them basic abilities
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
addtempflag(player->flags, F_CANWILL, OT_A_CHECKSTAIRS, NA, NA, NULL, FROMGAMESTART);
addtempflag(player->flags, F_CANWILL, OT_A_PRAY, NA, NA, NULL, FROMGAMESTART);
addtempflag(player->flags, F_CANWILL, OT_A_TRAIN, NA, NA, NULL, FROMGAMESTART);
- [+] chat->all allies command. - [+] replace 'step carefully' key to free up 's' - OT_A_TIPTOE - [+] 's' = 'shut door' (replace 'c') - [+] 'c' = 'chat to single' - [+] rewrite docomms() to use other funcs - [+] 'C' = 'command all allies' - [+] only possible for single person: - [+] 'o' donate - [+] 'i' tell me about this area - [+] 'j' join me - [+] 'k' trade knowledge - [+] 'm' mercy - [+] 't' trade - [+] 'x' dangers nearby? - [+] make a list of all commands which are valid for EVERYONE - [+] send command to everyone. - [+] docommslf() - [+] test with single target - [+] test with multiple targets - [+] hitconfer lifetime for wight/contagion zombie should only happen on fatal hits - [+] makezombie() should be able to call petify() - [+] bug: mosnters never using HIDE ability. - [+] monsters which pretend to be objects (ie. gargoyle) - [+] F_ISMONSTER v0=raceid v1=objectid, v2 = spot check difficulty - [+] when generating, add contents->first as objectid v1 - [+] getobname -> if you have f_mosnters, use contents->first - [+] getobdesc -> if you have f_mosnters, use contents->first - [+] mosnters won't walk onto it - [+] if you are next to them and can't see them... reveal then attack! - [+] F_ISMONSTER - must always be impassable to everyone!!! - [+] if you try to walk onto it: - [+] "the xxx starts to move!" - [+] kill ob - [+] add lf - [+] they get a free attack - [+] if it takes damage - [+] ... convert. - [+] spot checks to see them. - [+] ...convert. - [+] F_PRETENDSTOBE - mosnters will revert if unseen. - [+] reveal hidden should show them. - [+] gargoyle - [+] stone statues - [+] winged - [+] large - [+] ~37hp - [+] start off as an obejct - [+] wight - [+] rare. - [+] ~26 hp ...TR5 - [+] silent move - [+] dr4 attack (low damage) but.... - [+] any humans killed rise as a wight . - [+] (hitconfer revive). how can i limit hitconfer to a race? maybe f_hitconferrace - [+] bones file - [+] tested ok. - [+] 1 leveldrain per hit - [+] skillcheck to avoid - [+] wight gains +5 hp
2012-12-04 16:15:27 +11:00
addtempflag(player->flags, F_CANWILL, OT_A_TIPTOE, NA, NA, NULL, FROMGAMESTART);
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
addtempflag(player->flags, F_CANWILL, OT_A_DEBUG, NA, NA, NULL, FROMGAMESTART); /////////
VAULTS * [+] vaiultlegend_t * [+] vaultdef_t - [+] implement addlegend() - [+] implement addvault() - [+] function to read in a vault from a data file - [+] vs_noid - [+] vs_loadingmap - [+] vs_loadinglegend - [+] vs_loadingflags - [+] vs_loading - [+] load all vaultdefs in at start - [+] change createroom to calculate the posistion - [+] for each room, give a %chance of haivng a vault. (based on habitat?) * [+] createvault(map_t, roomid?, char *vaultid) - [+] mapdata with letters * [+] MSG up vault errors on load. - [+] Select job _before_ generating first map. * [+] make addob() handle door flags: * [+] addob() improvements * [+] wish bug: first object goes in pack, rest on ground. - [+] genericise getroomedge() - [+] finish 'autodoors' (at the end, add doors if none already done) - [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x, v1=y, v2=pct text=what * [+] "what" can be: * [+] scatter:y1:x2:y2:what:chance%:howmany * [+] some way to make the @map bit just say 'random room at least 2x4' - [+] make "scatter" able to take range instead of count. - [+] make "scatter"able to take x% instead of count. - [+] upsidedown chars no longer working with winch() - [+] ensure no DUPE ids - [+] make legend take percentages (optional) - [+] make "at" take negative values... OPTIONS - [+] autodoors - put doors on edges like with normal dungeon rooms. * [+] autopop - fill with obs/monsters like normal rooms VAULT FILES - [+] flooded room - [+] labyrinth - [+] vault (lots of money, locked secret doors) - [+] monster zoos (money and monsters) - [+] diningroom - lots of tables and chairs - [+] circleroom - [+] pillared room - [+] glass pillared room - [+] cockatrice lair (statues) - [+] traproom - need "random trap". need OC_TRAP. - [+] BUG: piranhas walking out of water sometimes....... - [+] add startatt x-y rather than just a bracket. use text field. - [+] make teleport auto move away form lfs - [+] add minotaur
2011-06-02 18:34:44 +10:00
// make the initial level
// create world map.
wregion = findregionbytype(BH_WORLDMAP);
assert(wregion);
surfmap = addmap();
createmap(firstmap, 1, wregion, NULL, D_NONE, NULL);
- [+] modifications to alchemy spell - affect stone, not metal - [+] fire/cold spells: - [+] endure fire/cold - [+] L2 - [+] ongoing - [+] like endure elements but only one element. - [+] fire - done - [+] cold - done - [+] negate fire/cold - [+] L3 ongoing - [+] rename "gold coin" to "gold dollar" - [+] announce mosnters losing interest. - [+] if accuracy is too low, chance to fumble your atttack if you miss. - [+] ie. drop weapon - [+] show "please wait' message during initial build. - [+] why can't i fill an empty flask from a potion of blood? - [+] because blood grew into a bigger one - [+] CRASH - go to a shop, 'sell gems', pick a letter not in the list - [+] The giant ant kills the kobold. The kobold dies. - [+] never use "kills" when a monsters is killing another one. - [+] implement CURSED scroll of wishing effects. - [+] stoning - [+] hostile summons - [+] insanity- drop iq prmenantly - [+] golden boulder - [+] proximity mine (l3 tech) - [+] if activated, explodes when someone walks ONTO it (but not _off_ it) - [+] only gtaverage WIS _or_ adept tech knowledge won't walk onto it - [+] rollerskates (wear on feet, move fast fowards) - [+] jet skates (faster version of rollerskates) - [+] only work when ACTIVATED - [+] only work when they have CHARGES left - [+] drain charges when activated (like a jetpack) - [+] cattle prod - piercing DR 1, +10 electical dam while it has charges - [+] f_extradamwithcharges - [+] computers - [+] operable - [+] no pickup (or at least, VERY heavy) - [+] need tech usage to use. - [+] get choices equal to your tech level (novice = random) - [+] choices: - [+] 1 M = map whole level - [+] 2 O = show location of loot (detect objects) - [+] 3 L = show lifeforms - [+] 5 D = explode - [+] 6 I = identify one item. - [+] 7U - unlock all doors + chests - [+] at high techusage you can pick destruct time ?j:e sp
2012-06-25 22:49:53 +10:00
msg(".");
- [+] vaults - [+] oval - [+] chasm - [+] room split in 4 by glass - [+] concentricroom - [+] Crash when a vault uses the object 'hole in the ground' - [+] better method of giving spells to monsters - [+] f_randomspellcount v0=amt - [+] f_randomspellschool v0=ss_xxx v1=minlevel v2=maxlevle, text = pw:xxx or null - [+] if power not given: - [+] castig power is (starting depth / 2) - [+] limited by spell's max level. - [+] OR - [+] f_randomspellcount v0=amt - [+] f_randomspellposs v0=spellid, optional text = power. - [+] include these in validateraces - [+] populate monsters... - [+] TEST! (with fire sprite, check if it casts a spell other then fire dart) - [+] if monster is randomly given the job "j_wizard", you MUST pick a subjob too! - [+] go back to using CANCAST for monster spells, so that they show up properly in a mind scan. - [+] druid should start with sickle as secondary weapon. - [+] healing not hurting undead - should be fixed now. - [+] add description of spell powe calculation to spell skills - [+] increase obhp of armour - [+] i was a druid, levelled up to l4, and didn't get a new spell! FIXED. wasn't refreshing LEVSPELLSCHOOLFROMX. - [+] make it a lot harder to get "beheaded" etc. - [+] show real object name in "killed by a thrown xxx" even if you didn't see it - [+] short blades shouldn't be able to behead. - [+] monster threat calc should take #attacks into account! - [+] CTRL-DIR to turn isn't working agian. fixed. - [+] make peasoup have range 1, rather than just going straight in front of you. - [+] power 1 glyph of wardning useless. fixed. - [+] reduce zombie maxattacks to 1. - [+] bug: Are alcohol no longer covered in (null).--More-- - [+] make merlochs much more rare. - [+] light recalc is MASSIVELY slow on some levels. - [+] for now: remove dark levels completely? - [+] "You see 2 sheet of ices here." - [+] remove F_FROZEN when you cook something. - [+] frostbite should do a little more damage. d4 instead of d3.
2012-02-29 17:05:14 +11:00
// create realm of gods - must do this first, so that
// gods get created because any temples.
hregion = findregionbytype(BH_HEAVEN);
- [+] vaults - [+] oval - [+] chasm - [+] room split in 4 by glass - [+] concentricroom - [+] Crash when a vault uses the object 'hole in the ground' - [+] better method of giving spells to monsters - [+] f_randomspellcount v0=amt - [+] f_randomspellschool v0=ss_xxx v1=minlevel v2=maxlevle, text = pw:xxx or null - [+] if power not given: - [+] castig power is (starting depth / 2) - [+] limited by spell's max level. - [+] OR - [+] f_randomspellcount v0=amt - [+] f_randomspellposs v0=spellid, optional text = power. - [+] include these in validateraces - [+] populate monsters... - [+] TEST! (with fire sprite, check if it casts a spell other then fire dart) - [+] if monster is randomly given the job "j_wizard", you MUST pick a subjob too! - [+] go back to using CANCAST for monster spells, so that they show up properly in a mind scan. - [+] druid should start with sickle as secondary weapon. - [+] healing not hurting undead - should be fixed now. - [+] add description of spell powe calculation to spell skills - [+] increase obhp of armour - [+] i was a druid, levelled up to l4, and didn't get a new spell! FIXED. wasn't refreshing LEVSPELLSCHOOLFROMX. - [+] make it a lot harder to get "beheaded" etc. - [+] show real object name in "killed by a thrown xxx" even if you didn't see it - [+] short blades shouldn't be able to behead. - [+] monster threat calc should take #attacks into account! - [+] CTRL-DIR to turn isn't working agian. fixed. - [+] make peasoup have range 1, rather than just going straight in front of you. - [+] power 1 glyph of wardning useless. fixed. - [+] reduce zombie maxattacks to 1. - [+] bug: Are alcohol no longer covered in (null).--More-- - [+] make merlochs much more rare. - [+] light recalc is MASSIVELY slow on some levels. - [+] for now: remove dark levels completely? - [+] "You see 2 sheet of ices here." - [+] remove F_FROZEN when you cook something. - [+] frostbite should do a little more damage. d4 instead of d3.
2012-02-29 17:05:14 +11:00
assert(hregion);
heaven = addmap();
createmap(heaven, 1, hregion, NULL, D_NONE, NULL);
- [+] modifications to alchemy spell - affect stone, not metal - [+] fire/cold spells: - [+] endure fire/cold - [+] L2 - [+] ongoing - [+] like endure elements but only one element. - [+] fire - done - [+] cold - done - [+] negate fire/cold - [+] L3 ongoing - [+] rename "gold coin" to "gold dollar" - [+] announce mosnters losing interest. - [+] if accuracy is too low, chance to fumble your atttack if you miss. - [+] ie. drop weapon - [+] show "please wait' message during initial build. - [+] why can't i fill an empty flask from a potion of blood? - [+] because blood grew into a bigger one - [+] CRASH - go to a shop, 'sell gems', pick a letter not in the list - [+] The giant ant kills the kobold. The kobold dies. - [+] never use "kills" when a monsters is killing another one. - [+] implement CURSED scroll of wishing effects. - [+] stoning - [+] hostile summons - [+] insanity- drop iq prmenantly - [+] golden boulder - [+] proximity mine (l3 tech) - [+] if activated, explodes when someone walks ONTO it (but not _off_ it) - [+] only gtaverage WIS _or_ adept tech knowledge won't walk onto it - [+] rollerskates (wear on feet, move fast fowards) - [+] jet skates (faster version of rollerskates) - [+] only work when ACTIVATED - [+] only work when they have CHARGES left - [+] drain charges when activated (like a jetpack) - [+] cattle prod - piercing DR 1, +10 electical dam while it has charges - [+] f_extradamwithcharges - [+] computers - [+] operable - [+] no pickup (or at least, VERY heavy) - [+] need tech usage to use. - [+] get choices equal to your tech level (novice = random) - [+] choices: - [+] 1 M = map whole level - [+] 2 O = show location of loot (detect objects) - [+] 3 L = show lifeforms - [+] 5 D = explode - [+] 6 I = identify one item. - [+] 7U - unlock all doors + chests - [+] at high techusage you can pick destruct time ?j:e sp
2012-06-25 22:49:53 +10:00
msg("^n.");
- [+] vaults - [+] oval - [+] chasm - [+] room split in 4 by glass - [+] concentricroom - [+] Crash when a vault uses the object 'hole in the ground' - [+] better method of giving spells to monsters - [+] f_randomspellcount v0=amt - [+] f_randomspellschool v0=ss_xxx v1=minlevel v2=maxlevle, text = pw:xxx or null - [+] if power not given: - [+] castig power is (starting depth / 2) - [+] limited by spell's max level. - [+] OR - [+] f_randomspellcount v0=amt - [+] f_randomspellposs v0=spellid, optional text = power. - [+] include these in validateraces - [+] populate monsters... - [+] TEST! (with fire sprite, check if it casts a spell other then fire dart) - [+] if monster is randomly given the job "j_wizard", you MUST pick a subjob too! - [+] go back to using CANCAST for monster spells, so that they show up properly in a mind scan. - [+] druid should start with sickle as secondary weapon. - [+] healing not hurting undead - should be fixed now. - [+] add description of spell powe calculation to spell skills - [+] increase obhp of armour - [+] i was a druid, levelled up to l4, and didn't get a new spell! FIXED. wasn't refreshing LEVSPELLSCHOOLFROMX. - [+] make it a lot harder to get "beheaded" etc. - [+] show real object name in "killed by a thrown xxx" even if you didn't see it - [+] short blades shouldn't be able to behead. - [+] monster threat calc should take #attacks into account! - [+] CTRL-DIR to turn isn't working agian. fixed. - [+] make peasoup have range 1, rather than just going straight in front of you. - [+] power 1 glyph of wardning useless. fixed. - [+] reduce zombie maxattacks to 1. - [+] bug: Are alcohol no longer covered in (null).--More-- - [+] make merlochs much more rare. - [+] light recalc is MASSIVELY slow on some levels. - [+] for now: remove dark levels completely? - [+] "You see 2 sheet of ices here." - [+] remove F_FROZEN when you cook something. - [+] frostbite should do a little more damage. d4 instead of d3.
2012-02-29 17:05:14 +11:00
// create main dungeon
dregion = findregionbytype(BH_MAINDUNGEON);
assert(dregion);
dmap = addmap();
createmap(dmap, 1, dregion, firstmap, D_DOWN, NULL);
- [+] modifications to alchemy spell - affect stone, not metal - [+] fire/cold spells: - [+] endure fire/cold - [+] L2 - [+] ongoing - [+] like endure elements but only one element. - [+] fire - done - [+] cold - done - [+] negate fire/cold - [+] L3 ongoing - [+] rename "gold coin" to "gold dollar" - [+] announce mosnters losing interest. - [+] if accuracy is too low, chance to fumble your atttack if you miss. - [+] ie. drop weapon - [+] show "please wait' message during initial build. - [+] why can't i fill an empty flask from a potion of blood? - [+] because blood grew into a bigger one - [+] CRASH - go to a shop, 'sell gems', pick a letter not in the list - [+] The giant ant kills the kobold. The kobold dies. - [+] never use "kills" when a monsters is killing another one. - [+] implement CURSED scroll of wishing effects. - [+] stoning - [+] hostile summons - [+] insanity- drop iq prmenantly - [+] golden boulder - [+] proximity mine (l3 tech) - [+] if activated, explodes when someone walks ONTO it (but not _off_ it) - [+] only gtaverage WIS _or_ adept tech knowledge won't walk onto it - [+] rollerskates (wear on feet, move fast fowards) - [+] jet skates (faster version of rollerskates) - [+] only work when ACTIVATED - [+] only work when they have CHARGES left - [+] drain charges when activated (like a jetpack) - [+] cattle prod - piercing DR 1, +10 electical dam while it has charges - [+] f_extradamwithcharges - [+] computers - [+] operable - [+] no pickup (or at least, VERY heavy) - [+] need tech usage to use. - [+] get choices equal to your tech level (novice = random) - [+] choices: - [+] 1 M = map whole level - [+] 2 O = show location of loot (detect objects) - [+] 3 L = show lifeforms - [+] 5 D = explode - [+] 6 I = identify one item. - [+] 7U - unlock all doors + chests - [+] at high techusage you can pick destruct time ?j:e sp
2012-06-25 22:49:53 +10:00
msg("^n.");
* [+] 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
- [+] intelligent (ie. more than animal) ai shouldn't move if it will cause damage - [+] move_will_hurt() - [+] ie. if in PAIN, or appropriate injury. - [+] if you're deaf, use "the xx says something" rather than "the xx says yy" - [+] STILL reachability errors in dlev 6 (jimbos' lair not linked) - [+] new forest habitat mechanism - clusters of trees - [+] bashing injury if you are slammed into a wall? - [+] jimbo didn't have a weapon! "+2 halberd" not working - [+] if you don't have knowledge about a creature, still show items (but only equipped ones) - [+] listen skill should take longer to train - [+] candle should last longer - [+] carrot grants temp darkvision - [+] shouldn't be able to eat stuff from floor while levitating - [+] CHANGE f_hitdice to use text - [+] fear spell from dretch always failing even on l1 player. why? * [+] summondemon spell - [+] adjust spell damage - 1d6 per level. ice spells: - [+] l4 - ice armour (higher power means more pieces of ice armour) - [+] (power/3)+1 pieces of armour. ie. 1 - 4 - [+] order: body,helmet, gloves, feet - [+] 4AC each. * [+] l5 - shardshot (higher level ray damage, does less damage the further away it goes) - [+] l5 - snap freeze ? turn one lf to ice? - [+] more things which use light attacks (ie. make glasses useful) - [+] replace bp_righthand with bp_rightfinger - [+] bug in blink spell: "Nothing seems to happen." - [+] make metal resist bite/slash/chop, not be immune. - [+] fix shatter spell on glass wall * [+] bug: in jimbos vault and plaeyrstart2, exits are being added in in appropriate places. * [+] make player's starting point be a "prison_cell" vault. - [+] earplugs - stop all sound. - [+] make f_deaf an intrinsic (ie. announcements) - [+] add the object critical hits: - [+] "you hit xxx" "xxx turns to flee" "xxx's leg is bruised" - [+] need losehp to NOT trigger fightback in this case - we will trigger it ourself after crithit. - [+] pass this as a param? - [+] critical eye hits - [+] scraped eyelid (slash, lower accuracy) - [+] black eye (bash, lower vision range and charisma) - [+] destroyed eye (pierce, permenant lower vision range!) - [+] injuries heal heaps faster when asleep - [+] redo f_injured flag to use an "enum INJURY" IJ_xxx - [+] change how it is applied - [+] change how it is announced (io.c) - [+] change how effects work (search for F_INJURY) - [+] pierce - [+] pierced artery: v.high bleed - [+] stabbed heart (instant death, very unlikely) - [+] slash: - [+] cut flexor tendon (cannot weild ANY weapon) - [+] slashed hamstring (fall. skillcehck every time you move, vslow movement) - [+] severed finger - [+] finger drops to the ground - [+] ring drops to the ground - [+] (get nobodypart bp_rightfinger or bp_leftfinger) - [+] bash: - [+] dislocated arm (cannot weild anything heavy in that hand) - [+] broken rib (reduced carrying capacity) - [+] swelled ankle (cannot remove or put on boots)
2011-09-06 08:04:51 +10:00
// add player in the starting position
- [+] intelligent (ie. more than animal) ai shouldn't move if it will cause damage - [+] move_will_hurt() - [+] ie. if in PAIN, or appropriate injury. - [+] if you're deaf, use "the xx says something" rather than "the xx says yy" - [+] STILL reachability errors in dlev 6 (jimbos' lair not linked) - [+] new forest habitat mechanism - clusters of trees - [+] bashing injury if you are slammed into a wall? - [+] jimbo didn't have a weapon! "+2 halberd" not working - [+] if you don't have knowledge about a creature, still show items (but only equipped ones) - [+] listen skill should take longer to train - [+] candle should last longer - [+] carrot grants temp darkvision - [+] shouldn't be able to eat stuff from floor while levitating - [+] CHANGE f_hitdice to use text - [+] fear spell from dretch always failing even on l1 player. why? * [+] summondemon spell - [+] adjust spell damage - 1d6 per level. ice spells: - [+] l4 - ice armour (higher power means more pieces of ice armour) - [+] (power/3)+1 pieces of armour. ie. 1 - 4 - [+] order: body,helmet, gloves, feet - [+] 4AC each. * [+] l5 - shardshot (higher level ray damage, does less damage the further away it goes) - [+] l5 - snap freeze ? turn one lf to ice? - [+] more things which use light attacks (ie. make glasses useful) - [+] replace bp_righthand with bp_rightfinger - [+] bug in blink spell: "Nothing seems to happen." - [+] make metal resist bite/slash/chop, not be immune. - [+] fix shatter spell on glass wall * [+] bug: in jimbos vault and plaeyrstart2, exits are being added in in appropriate places. * [+] make player's starting point be a "prison_cell" vault. - [+] earplugs - stop all sound. - [+] make f_deaf an intrinsic (ie. announcements) - [+] add the object critical hits: - [+] "you hit xxx" "xxx turns to flee" "xxx's leg is bruised" - [+] need losehp to NOT trigger fightback in this case - we will trigger it ourself after crithit. - [+] pass this as a param? - [+] critical eye hits - [+] scraped eyelid (slash, lower accuracy) - [+] black eye (bash, lower vision range and charisma) - [+] destroyed eye (pierce, permenant lower vision range!) - [+] injuries heal heaps faster when asleep - [+] redo f_injured flag to use an "enum INJURY" IJ_xxx - [+] change how it is applied - [+] change how it is announced (io.c) - [+] change how effects work (search for F_INJURY) - [+] pierce - [+] pierced artery: v.high bleed - [+] stabbed heart (instant death, very unlikely) - [+] slash: - [+] cut flexor tendon (cannot weild ANY weapon) - [+] slashed hamstring (fall. skillcehck every time you move, vslow movement) - [+] severed finger - [+] finger drops to the ground - [+] ring drops to the ground - [+] (get nobodypart bp_rightfinger or bp_leftfinger) - [+] bash: - [+] dislocated arm (cannot weild anything heavy in that hand) - [+] broken rib (reduced carrying capacity) - [+] swelled ankle (cannot remove or put on boots)
2011-09-06 08:04:51 +10:00
//where = real_getrandomadjcell(where, WE_WALKABLE, B_ALLOWEXPAND, LOF_DONTNEED, NULL);
where = findobinmap(dmap, OT_PLAYERSTART);
if (!where) {
msg("error: couldn't find ot_playerstart. picking random loc.");
more();
condset_t cs;
initcondv(&cs, CC_WALKABLE, B_TRUE, NA,
CC_ISROOM, B_TRUE, NA,
CC_NONE
);
where = getcell_cond(dmap, &cs);
}
- [+] intelligent (ie. more than animal) ai shouldn't move if it will cause damage - [+] move_will_hurt() - [+] ie. if in PAIN, or appropriate injury. - [+] if you're deaf, use "the xx says something" rather than "the xx says yy" - [+] STILL reachability errors in dlev 6 (jimbos' lair not linked) - [+] new forest habitat mechanism - clusters of trees - [+] bashing injury if you are slammed into a wall? - [+] jimbo didn't have a weapon! "+2 halberd" not working - [+] if you don't have knowledge about a creature, still show items (but only equipped ones) - [+] listen skill should take longer to train - [+] candle should last longer - [+] carrot grants temp darkvision - [+] shouldn't be able to eat stuff from floor while levitating - [+] CHANGE f_hitdice to use text - [+] fear spell from dretch always failing even on l1 player. why? * [+] summondemon spell - [+] adjust spell damage - 1d6 per level. ice spells: - [+] l4 - ice armour (higher power means more pieces of ice armour) - [+] (power/3)+1 pieces of armour. ie. 1 - 4 - [+] order: body,helmet, gloves, feet - [+] 4AC each. * [+] l5 - shardshot (higher level ray damage, does less damage the further away it goes) - [+] l5 - snap freeze ? turn one lf to ice? - [+] more things which use light attacks (ie. make glasses useful) - [+] replace bp_righthand with bp_rightfinger - [+] bug in blink spell: "Nothing seems to happen." - [+] make metal resist bite/slash/chop, not be immune. - [+] fix shatter spell on glass wall * [+] bug: in jimbos vault and plaeyrstart2, exits are being added in in appropriate places. * [+] make player's starting point be a "prison_cell" vault. - [+] earplugs - stop all sound. - [+] make f_deaf an intrinsic (ie. announcements) - [+] add the object critical hits: - [+] "you hit xxx" "xxx turns to flee" "xxx's leg is bruised" - [+] need losehp to NOT trigger fightback in this case - we will trigger it ourself after crithit. - [+] pass this as a param? - [+] critical eye hits - [+] scraped eyelid (slash, lower accuracy) - [+] black eye (bash, lower vision range and charisma) - [+] destroyed eye (pierce, permenant lower vision range!) - [+] injuries heal heaps faster when asleep - [+] redo f_injured flag to use an "enum INJURY" IJ_xxx - [+] change how it is applied - [+] change how it is announced (io.c) - [+] change how effects work (search for F_INJURY) - [+] pierce - [+] pierced artery: v.high bleed - [+] stabbed heart (instant death, very unlikely) - [+] slash: - [+] cut flexor tendon (cannot weild ANY weapon) - [+] slashed hamstring (fall. skillcehck every time you move, vslow movement) - [+] severed finger - [+] finger drops to the ground - [+] ring drops to the ground - [+] (get nobodypart bp_rightfinger or bp_leftfinger) - [+] bash: - [+] dislocated arm (cannot weild anything heavy in that hand) - [+] broken rib (reduced carrying capacity) - [+] swelled ankle (cannot remove or put on boots)
2011-09-06 08:04:51 +10:00
if (!where) {
dblog("fatal error: couldn't find player start position!");
msg("fatal error: couldn't find player start position!");
more();
exit(1);
}
if (where->lf) killlf(where->lf);
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
movelf(player, where, B_FALSE);
// new remove fakes
killfakes(&fakemap, &fakecell);
// this is the hole which you fell down to get here.
addobfast(where->obpile, OT_HOLEINROOF);
// kill any objects which were already there, or which fell down the hole
- [+] add more vrare vaults to reduce likelihood of cockatrice lair! - [+] bazaar - [+] money vault hsould be vrare - [+] so should traproom - [+] rename giant rat to "dire rat" - [+] don't show anything other than object description and throwing for unknown tech - [+] shouldn't be able to rest in a tent if it's not known! - [+] eyebat corpse increase maxmp? - [+] blessed missiles should nearly always hit undead * [+] too easy to dodge thrown missiles? - [+] spell and wand of culinary abundance - [+] if a carnivorous animal kills you: "Eaten by a xxx" * [+] bug: stairsperlev is only ever used in making DUNGEONS. generecise this ?? - [+] safetorest - should ignore monsters feigning death - [+] broken nose should reduce smell range - [+] fresh and stale bread should be interchangable in cooking - [+] make scroll of permenance act on you, not your objects - [+] tweak object rarity yet agian... - [+] bug: hole in roof above player start pos is immediately destroyed. - [+] change pickaxe to be like resting - [+] wait first, then if not interrupted, do the dig. - [+] add cell->hp, celltype->hp. around 100. - [+] f_digging, x, y, digperturn - [+] interrupt() will stop this. - [+] each turn, lower hp of cell by 1. - [+] make wlaking bakwards take less time based on athletics skill!!! - [+] at adept, takes no extra time? - [+] better racial display - [+] ? for extra info. - [+] hitdice - [+] general attribs (str etc) - [+] don't show description until you press '?' - [+] addbonustext(flagpile, f_BONDESC, "asdffas") - to avoid index issues - [+] remove VULNS from "effects" unless temporary - [+] isresistantto() etc need to have "int onlytemp" - [+] remove VULNS from manual BONTEXT flags - [+] CRASH IN DTVULN CODE!! - [+] limit '?r' display ?? - [+] what to show - [+] show races you have encountered - [+] show races you know about through Lore (adept level) - [+] show playable races????? - [+] structs - [+] race->encountered - [+] need to save this. - [+] make EFFECTS only show TEMPORARY effects or ones which don't come from race? - [+] automate bondesc/pendesc based on flags! - [+] vulnarabilities / resist / immun - [+] vision range!! (visrangemod) - [+] size? restricted armour. - [+] stayinroom - [+] f_humanoid (can use weapons) - [+] tamable - [+] seeindark - [+] caneatraw - [+] enhancesmell - [+] caneatraw - [+] vegeatrian - [+] cernivore - [+] fastmetab - [+] startskill - [+] tremorsense - [+] silentmove - [+] deaf - [+] flying / levitating - [+] awareness - [+] nocturnal / diurnal - [+] heavyblow - [+] packattack - [+] dodges - [+] autocreateob - [+] MPMOD - [+] HPMOD - [+] MEDITATES - [+] PHOOTMEM - [+] canwill "Spells: xx, x, x, x" - [+] spells: - [+] animate stone - "power" walls turn into stone golems - [+] implement spell - [+] golem - [+] r_golemstone - [+] knockback attack - [+] high str - [+] fists - [+] corpsetype and iunsummonob = boulder - [+] spell power modification - subtract spell level. - [+] when i go down a drain, make sure the new map links to THE DRAIN I WENT DOWN. not some otehr one. - [+] some monsters shouldn't sleep! add new flag: f_nosleep - [+] make spanner help disarm traps!
2011-12-04 09:33:37 +11:00
killallobsexcept(where->obpile, OT_HOLEINROOF, OT_NONE);
/*o = hasob(where->obpile, OT_PLAYERSTART);
killob(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
// place the portal to realm of gods
c = getrandomcell(surfmap);
while (!cellwalkable(NULL, c, NULL)) {
c = getrandomcell(surfmap);
}
o = addobfast(c->obpile, OT_PORTAL);
targc = findobinmap(heaven, OT_PORTAL);
// link surface portal
addflag(o->flags, F_MAPLINK, heaven->id, targc->x, targc->y, NULL);
// link heaven portal
o = hasob(targc->obpile, OT_PORTAL);
addflag(o->flags, F_MAPLINK, surfmap->id, c->x, c->y, NULL);
// get player name from environment vars
2011-02-01 06:16:13 +11:00
user = getenv("USER");
if (user) {
char pname[MAXPNAMELEN];
snprintf(pname, MAXPNAMELEN, "%s", getenv("USER"));
addflag(player->flags, F_NAME, NA, NA, NA, pname);
2011-02-01 06:16:13 +11:00
} else {
addflag(player->flags, F_NAME, NA, NA, NA, "Anonymous");
}
// give the player their job
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
givejob(player, j->id);
- [+] replace causesvomit with vomitob - [+] monsters shouldn't weild lit torches - [+] maybe reduce the damage that they do? - [+] change allomancy to work like psionics - [+] change colour of carpetted floor? to what though? red. - [+] amberon should only accept sacrifice of KNOWN cursed objects! - [+] infinite loop when going into a sewer. fix_reachability keeps failing. - [+] in linkexit() - [+] startdir getitng set to DC_E! should be orthog only! - [+] because forcedir is DC_E! - [+] Mummy? made of paper (ie flammable). rotting touch. curse. corpsetype = sand or ash, and blank paper. * [+] inflicts rotting disease "mummy's curse" - [+] can cast cause fear (but not very often, 50 turns or so) - [+] vuln to fire (1-8) - [+] vuln to holy (2-8) - [+] greater mummy - [+] more hd - [+] lots more damage - [+] stronger fear spell - [+] no vuln to anything - [+] magic resistance - [+] priest spells. - death disease evil revenge, guardianship. some new ones: - [+] rot: - [+] instead of losing hp, lose str+fit and just no healing ? - [+] wyvern - [+] wyrm without breath weapon - [+] ice demon - [+] shardshot, power 3 (ie 3d6) - [+] snow troll - [+] implement - [+] - frostbite, range 1 "exhales a freezing wind" - [+] griddler, small demon, fire dam attack, heat metal ability, carries a permenantly red-hot weapon - [+] curse (curses equipped objects) - [+] applys a curse to 1-power equipped objects. - [+] applies a -1 penalty too, if it's a weapon/armour/can have bonuses. - [+] protection from good. - [+] repel the next "power" attacks from good-aligned lfs - [+] casttoattack xxx - [+] this needs the player to have an alignment!!! (base it on the job) FROM PREVIOUS COMMITS: - [+] if you polymorph into something with nopack, MELD your pack ? - [+] move all from lf->pack to lf->meldpack - [+] have to SAVE meldpack too. - [+] monsters which attack if you get too close - [+] eg. wolf - [+] do they attack other monsters in range too? or just players?
2012-02-10 08:00:10 +11:00
//////////////////////
* [+] 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
// read cheat info from player file
* [+] 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 (playerfile) {
if (parseplayerfile(playerfile, player)) {
// error!
exit(0);
}
fclose(playerfile);
* [+] 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
// TODO: note that we're cheaing
* [+] 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
}
2011-02-01 06:16:13 +11:00
// player needs hunger
addflag(player->flags, F_HUNGER, 0, 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
// kill any other lifeforms around the caster, to make room for pets.
for (dir = DC_N; dir <= DC_NW; dir++) {
cell_t *c;
c = getcellindir(player->cell, dir);
if (c && c->lf) {
killlf(c->lf);
}
}
* [+] 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
// pet / npc / follower
- [+] remove "inscribe" spell for now. - [+] beginner perception should let you see next to you. - [+] fix trail directions when checking stairs - [+] make labyrinth vault be a proper labyrinth shape - [+] 'spark' should affect floor obs even if there is a lf there. - [+] cursed scroll of awareness should blind you for 10-20 turns. - [+] bug: monsters trying to flee through locked drainage grate.s - [+] new god: Bjorn the battlelord - [+] Pray effects: - [+] bless weapon - [+] bezerk - [+] true strike - [+] haste - [+] Likes: battles (ie. kill last enemy in lof) - [+] Dislike: - [+] calming - [+] poison - [+] magic (wands, spells etc) - [+] retreat (moving away with back turned) "Coward!" - [+] gifts: - [+] weapons, armour - [+] sacrifice: - [+] untouched battle spoils - [+] after dropping objects, add f_battlespoils if YOU killed the ownert. - [+] remove this if/when the object gets moved again - [+] splatter blood - [+] minor anger: - [+] rust your armour / weapon - [+] major anger: - [+] destroy your armour - [+] destroy your weapon - [+] summon lots of enemies - [+] new god: Lumara - fem, magic - [+] likes: - [+] most things which train magic skills - [+] ie. casting spells - [+] using wands - [+] reading scrolls - [+] dislikes: - [+] missile weapons - [+] pray: - [+] restore mp if low - [+] identify books/scrolls - [+] remove curses - [+] gift: - [+] spellbooks - [+] manuals of spell schools - [+] extra mp - [+] angry minor: - [+] lose mp - [+] forget a spell - [+] angry: - [+] spells stop working (100% failure chance) - [+] forget all spells - [+] polymorph you into something bad - [+] sacrifice - [+] weapons / armour
2012-01-25 20:20:15 +11:00
getflags(player->flags, retflag, &nretflags, F_HASPET, F_NONE);
for (i = 0; i < nretflags; i++) {
* [+] 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
cell_t *c;
race_t *r;
lifeform_t *pet;
- [+] bug: getobvlue price keeps going up - [+] make food poisoning last longer! - [+] bug: pet starting in water - [+] ability to pay at shops using gems? but no change. - [+] implement - [+] require speech skill at a certain level (novice) - [+] reveal attack location for unseen attacks - [+] bug: poisonbolt spell shouldn't cause fire damage to objects! - [+] return to your original form after dying when polymorphed, but just retain SOME hp - [+] new spell: shapeshift - [+] like polymorph but only affects yourself and always controlled - [+] you have to pick something you can see - [+] spell power determiens hitdice you can copy - [+] purify food now works on all your objects, not just one - [+] Nature god(farming, creation) - [+] Ekrub - [+] doesn't like wyrms because they destroy things? - [+] objects - [+] has a pitchfork vs dragons - [+] longbow of xxx - [+] sun hat - [+] overalls - [+] gloves - [+] effects: - [+] canwill all nature spells - [+] likes - [+] killing animals (but only while hungry) - [+] killing dragons - [+] casting nature spells - [+] creating objects or lfs (wish, monsters, food) - [+] dislikes: - [+] destroying objects - [+] attackob() - [+] throwing a flask which shatters - [+] crush objects underfoot - [+] via non-nature spells...? - [+] poison - [+] attacking plants - [+] casting poison spells (same with other antipoison gods!) - [+] sacrifice: - [+] animal corpses - [+] dragon corpses - [+] pray: - [+] battle: - [+] will come to your aid against wyrms - [+] OTHERWISE: - [+] entangle enemies - [+] lightning - [+] summon plants to help you - [+] nonbattle: - [+] purify food on player - [+] THEN one of the following: - [+] cure poison - [+] fix hunger or give food - [+] heal - [+] give ammo (if ranged weapon equipped and out of ammo) - [+] give it. - [+] make it "of seeking" (ie. always hits) - [+] mend armour - [+] bless armour - [+] gifts - [+] ability: calm animals, power 10 - [+] can shapeshift into a bear - [+] resist poison - [+] resist cold - [+] ranged weapon - [+] magic ammo for ranged weapons - [+] angry (minor) - [+] no nature spells work while god is angry ? - [+] taint your food and any food you touch - [+] summons entangling vines around you - [+] angry (major) - [+] one of: - [+] cloudkill - [+] summon storm - [+] surround you with sawgrass
2012-02-01 12:31:36 +11:00
enum OBTYPE avoidob = OT_WATERDEEP;
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
condset_t cs,cs2;
initcondv(&cs, CC_WALKABLE, B_TRUE, NA,
CC_HASOBTYPE, B_FALSE, avoidob,
CC_NONE
);
- [+] chemistry skill lets to mix venom sacs into potions - [+] need a potion and venom sac - [+] make more things drop venom sacs - snakes etc - [+] F_EXTRACORPSE - [+] operate the venom sac ? - [+] can do this with first levle chemistry - [+] different kind of venom - blindness - [+] "blue venom sac" vs "purple venom sac" - [+] combiesn to potion of blindness - [+] more amulets - [+] common - [+] of bravery - [+] of light (common) - [+] of minor protection (common) (=5 AR - [+] energy absorbtion (absorb explosions, then pump them out) - [+] uncommon - [+] injury prvention (instead of ring) - [+] rare - [+] or major protection (not common) +10 AR - [+] had a missing eye. drunk a healing potino. - [+] Your head grows back! Your injured head has healed. - [+] objects with positive F_BONUS should never start cursed - [+] (in addobject) - [+] territorial monsters talk when you are approaching their threshold (but not within it) - [+] put this in ai_talk() - [+] if someone almost at territorial range: - [+] make f_noisetext v2 be SP_xxx. if it's set, just say this instead. - [+] it not, N_TERRITORY_APPROACH - [+] if we can talk, SP_TERRITORY_APPROACH - [+] possibilities: - [+] stay away! - [+] keep back! - [+] get away froma me! - [+] don't come any closer! - [+] that's close enough. - [+] keep your distance, stranger! - [+] out of my way! - [+] test with giant and - [+] test with insane humanoid - [+] make territorial creatures not walk too close to things, unless they are attacking or fleeing - [+] in willmove(), fail if it is too close to something - [+] ...unless we have a target lf - [+] ...or we are fleeing - [+] jumping when woozy will go to a random cell - [+] fix autoshortcuts to include starting spells - [+] still bugs with canreachbp - "The giant rat critically scratches your wizard hat." - [+] zombies shoudln't be able to talk. - [+] allow pets to "cheat" to find player's lcoation. - [+] need some kind of limit on zombie army creation - [+] no stairs - [+] areallies() on two pets returning false - [+] psychic shove - [+] push off something, or push them away - [+] l2 mental - [+] pushback power+1 cells (max power 3) - [+] different god message for first prayer. - [+] fix crash during swapplaces() - [+] sacrifice of masterwork weapons should work better. shoddy should be worse. - [+] bug: shops don't work anymore - [+] change lessen poison - power always goes to 1 - [+] replace description "spell's power is boosted when cast outside" with "boosted when cast in a forested area" - [+] minor healing problem. "at lest 2hp per power" but mxpower 10. should be maxpwer 5 - [+] wish for 'protection' should give something you can wear without penalties. - [+] locate object should give a message when none are found.
2012-11-15 22:39:46 +11:00
initcondv(&cs2, CC_HASOBTYPE, B_FALSE, avoidob,
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
CC_NONE
);
- [+] remove "inscribe" spell for now. - [+] beginner perception should let you see next to you. - [+] fix trail directions when checking stairs - [+] make labyrinth vault be a proper labyrinth shape - [+] 'spark' should affect floor obs even if there is a lf there. - [+] cursed scroll of awareness should blind you for 10-20 turns. - [+] bug: monsters trying to flee through locked drainage grate.s - [+] new god: Bjorn the battlelord - [+] Pray effects: - [+] bless weapon - [+] bezerk - [+] true strike - [+] haste - [+] Likes: battles (ie. kill last enemy in lof) - [+] Dislike: - [+] calming - [+] poison - [+] magic (wands, spells etc) - [+] retreat (moving away with back turned) "Coward!" - [+] gifts: - [+] weapons, armour - [+] sacrifice: - [+] untouched battle spoils - [+] after dropping objects, add f_battlespoils if YOU killed the ownert. - [+] remove this if/when the object gets moved again - [+] splatter blood - [+] minor anger: - [+] rust your armour / weapon - [+] major anger: - [+] destroy your armour - [+] destroy your weapon - [+] summon lots of enemies - [+] new god: Lumara - fem, magic - [+] likes: - [+] most things which train magic skills - [+] ie. casting spells - [+] using wands - [+] reading scrolls - [+] dislikes: - [+] missile weapons - [+] pray: - [+] restore mp if low - [+] identify books/scrolls - [+] remove curses - [+] gift: - [+] spellbooks - [+] manuals of spell schools - [+] extra mp - [+] angry minor: - [+] lose mp - [+] forget a spell - [+] angry: - [+] spells stop working (100% failure chance) - [+] forget all spells - [+] polymorph you into something bad - [+] sacrifice - [+] weapons / armour
2012-01-25 20:20:15 +11:00
f = retflag[i];
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
r = findracebyname(f->text, NULL);
* [+] 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
assert(r);
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
// create pet, in view of player if possible.
c = real_getrandomadjcell(player->cell, &cs, B_ALLOWEXPAND, LOF_NEED, NULL, player);
if (!c) {
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
// if no valid spaces, try to make one.
c = real_getrandomadjcell(player->cell, &cs2, B_NOEXPAND, LOF_DONTNEED, NULL, player);
assert(c);
setcelltype(c, getmapempty(player->cell->map));
}
* [+] 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
assert(c);
pet = addlf(c, r->id, 1);
// mark us as its master
* [+] 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
petify(pet, player);
* [+] 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
}
- [+] rename dragon to wyrm - [+] cooked food shouldn't "completely rot away" - [+] fire l6: meteor - large version of fireball - [+] burning feet - [+] evaporate should be a fire spell too. - [+] more gods should remove curse for you. - [+] eyebats shouldn't sleep - [+] make hecta's prayers even more powerful. - [+] fix bug in bjorn's truestrike effect - [+] bjorn should un-dull weapons - [+] fix buggy supply closet definitions - was getting 1-5 of same object rather than 1-5 different ones - [+] restrict potion of growth to lower levels. - [+] change method of determining how much you can carry. - [+] change initial modification spell to 'enlarge object' - [+] enlarge object - [+] door -> seals with surroundings - [+] rock -> boulder - [+] sword -> greatsword - [+] buckler -> next size shield - [+] bag -> next size bag - [+] or should this be a different spell? - [+] immolate - [+] if a successful unarmed attack, lf catches on fire. - [+] wizard isn't weilding staff. are fists better? - [+] freezing touch shouldn't work on dragonwood - [+] fix bug preventing vision when meditating - [+] auto shortcuts - [+] wizards: pri/sec spells are 1/2 - [+] cook: lowest shortcut left. - [+] statbar not being updated when i drink potion of magic. - [+] warn that flying will stop mapping. - [+] bjorn gifts should only be ones which you are skilled in! - [+] add 'appropriate' - [+] then apply to god.c - [+] warn if you pick up poison stuff and you god doesn't like it - [+] "I hope you're not planning on using that/those...." - [+] superheat - throw potion like a grenade
2012-01-30 09:47:43 +11:00
// some abilities should always use certain shortcut numbers
autoshortcut(player, OT_A_TRAIN, 9);
autoshortcut(player, OT_A_TIPTOE, 0);
autoshortcut(player, OT_A_COOK, 1);
autoshortcut(player, OT_S_SIXTHSENSE, 6);
- [+] chemistry skill lets to mix venom sacs into potions - [+] need a potion and venom sac - [+] make more things drop venom sacs - snakes etc - [+] F_EXTRACORPSE - [+] operate the venom sac ? - [+] can do this with first levle chemistry - [+] different kind of venom - blindness - [+] "blue venom sac" vs "purple venom sac" - [+] combiesn to potion of blindness - [+] more amulets - [+] common - [+] of bravery - [+] of light (common) - [+] of minor protection (common) (=5 AR - [+] energy absorbtion (absorb explosions, then pump them out) - [+] uncommon - [+] injury prvention (instead of ring) - [+] rare - [+] or major protection (not common) +10 AR - [+] had a missing eye. drunk a healing potino. - [+] Your head grows back! Your injured head has healed. - [+] objects with positive F_BONUS should never start cursed - [+] (in addobject) - [+] territorial monsters talk when you are approaching their threshold (but not within it) - [+] put this in ai_talk() - [+] if someone almost at territorial range: - [+] make f_noisetext v2 be SP_xxx. if it's set, just say this instead. - [+] it not, N_TERRITORY_APPROACH - [+] if we can talk, SP_TERRITORY_APPROACH - [+] possibilities: - [+] stay away! - [+] keep back! - [+] get away froma me! - [+] don't come any closer! - [+] that's close enough. - [+] keep your distance, stranger! - [+] out of my way! - [+] test with giant and - [+] test with insane humanoid - [+] make territorial creatures not walk too close to things, unless they are attacking or fleeing - [+] in willmove(), fail if it is too close to something - [+] ...unless we have a target lf - [+] ...or we are fleeing - [+] jumping when woozy will go to a random cell - [+] fix autoshortcuts to include starting spells - [+] still bugs with canreachbp - "The giant rat critically scratches your wizard hat." - [+] zombies shoudln't be able to talk. - [+] allow pets to "cheat" to find player's lcoation. - [+] need some kind of limit on zombie army creation - [+] no stairs - [+] areallies() on two pets returning false - [+] psychic shove - [+] push off something, or push them away - [+] l2 mental - [+] pushback power+1 cells (max power 3) - [+] different god message for first prayer. - [+] fix crash during swapplaces() - [+] sacrifice of masterwork weapons should work better. shoddy should be worse. - [+] bug: shops don't work anymore - [+] change lessen poison - power always goes to 1 - [+] replace description "spell's power is boosted when cast outside" with "boosted when cast in a forested area" - [+] minor healing problem. "at lest 2hp per power" but mxpower 10. should be maxpwer 5 - [+] wish for 'protection' should give something you can wear without penalties. - [+] locate object should give a message when none are found.
2012-11-15 22:39:46 +11:00
// populate the remainder with our other abilities
autoshortcut(player, OT_NONE, NA);
- [+] rename dragon to wyrm - [+] cooked food shouldn't "completely rot away" - [+] fire l6: meteor - large version of fireball - [+] burning feet - [+] evaporate should be a fire spell too. - [+] more gods should remove curse for you. - [+] eyebats shouldn't sleep - [+] make hecta's prayers even more powerful. - [+] fix bug in bjorn's truestrike effect - [+] bjorn should un-dull weapons - [+] fix buggy supply closet definitions - was getting 1-5 of same object rather than 1-5 different ones - [+] restrict potion of growth to lower levels. - [+] change method of determining how much you can carry. - [+] change initial modification spell to 'enlarge object' - [+] enlarge object - [+] door -> seals with surroundings - [+] rock -> boulder - [+] sword -> greatsword - [+] buckler -> next size shield - [+] bag -> next size bag - [+] or should this be a different spell? - [+] immolate - [+] if a successful unarmed attack, lf catches on fire. - [+] wizard isn't weilding staff. are fists better? - [+] freezing touch shouldn't work on dragonwood - [+] fix bug preventing vision when meditating - [+] auto shortcuts - [+] wizards: pri/sec spells are 1/2 - [+] cook: lowest shortcut left. - [+] statbar not being updated when i drink potion of magic. - [+] warn that flying will stop mapping. - [+] bjorn gifts should only be ones which you are skilled in! - [+] add 'appropriate' - [+] then apply to god.c - [+] warn if you pick up poison stuff and you god doesn't like it - [+] "I hope you're not planning on using that/those...." - [+] superheat - throw potion like a grenade
2012-01-30 09:47:43 +11:00
2011-02-01 06:16:13 +11:00
getplayernamefull(pname);
snprintf(welcomemsg, BUFLEN, "Greetings %s, welcome to nexus!", pname);
2011-02-01 06:16:13 +11:00
// 00:00 - 23:59
curtime = rnd(0,DAYSECS-1);
* [+] F_prone if you're knocked down - [+] make sheilds very good against projectiles - [+] make smoke just REDUCE vision, not block it. - [+] noncorporeal should stop grabs! * [+] don't say 'a javelin is damaged' when you throw it, just apply the damge - [+] increase damage bonus with every lore level. +10% each time (ie. up to 50% at top) * [+] give accuracy + critical bonus for lore levles too - [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle] - [+] Show Pain on botl. * [+] more staves - [+] low hitpoint warning for pets (or make them shriek, whine, etc) - [+] CRITKNOCKDOWN * [+] FINISH GRIZZLY - [+] undead should be immune to poison!! - [+] make code to auto add flags to undead. - [+] if you ever move a door (ie. airblast), automatically open it. - [+] young wolf shouldn't be able to open a door! * [+] You throw a dart at the carpet snake. Your dart misses you.--More-- - [+] no sprinting while burdneed - [+] blood should be drawn BELOW stairs - [+] weilded torch should do 1d4 fire damage (counts as a club) * [+] The skeleton touches a leather belt then recoils in pain!The skeleton drops a blessed leather belt.The skeleton puts on a leather belt. - [+] don't show "you can cast it at power level xxx" for abilities * [+] more item randomising - [+] make grey ooze splatter into acid - [+] "the vine grabs you" if you walk onto an entangling vine. - [+] don't start monsters within player's los - [+] properly randomise sticks to snakes - [+] stirge - [+] leech (like stirge but can charge/leap, and slightly more hp / damage) - [+] treesnake - [+] constrictor - [+] cobra - [+] stickes to snakes - make caster's weapon revert. - [+] A something comes into view. - [+] is invisibility code working properly when you see someone use the invis spell? - [+] don't include cosmetic objects in 'you see xxx' * [+] monsters: don't use spells if you don't have lof. - [+] pets not following around corners if you move diagonally. fixed a little. - [+] summon small animals (2-3 x SZ_SMALL) * [+] jet of water - [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc) - [+] lightning storm (lightbning everyone within los, and more damage) - [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
2010-12-02 12:17:54 +11:00
} else {
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
char pname[BUFLEN];
getplayernamefull(pname);
snprintf(welcomemsg, BUFLEN, "Welcome back, %s!", pname);
2010-12-02 12:17:54 +11:00
}
// start game - this will cause debug messages to now
// go to the log file instead of stdout.
2011-02-01 06:16:13 +11:00
timeleft = 0; // reset game timer
2010-12-02 12:17:54 +11:00
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to cmoe from lore:arcana instead - [+] rename magic skillls to sorcery:fire etc? - [+] adjust spell power calculation to take lack of sorcery skill int oaccount - [+] allow '\' during getchoice() and getchoicestr() - [+] so that we can see what we have identified - [+] lower metabolism while lmeditating - [+] poisonous mushrooms - [+] toadstool - poisonous - [+] shiitake - normal - [+] recognise via cooking skill - [+] if you add a blood ob, 1 randmo piece of armour in the pile becomes bloodstained - [+] accuracy boost when attacking something who has grabbedyou - [+] lessen gravitiy should prvent falls * [+] bug: - [+] add job descriptions - [+] handle ESC in askchar - [+] You attack the helpless the xat! You flatten the xat! - [+] "the helpless the xat" - [+] shoiuldn't use "flatten" sinec we're not killing it - [+] You attack the helpless xat! You kill the xat! - [+] ...but it wasn't dead! - [+] flame pillar scroll no longer works - [+] not asking for target. - [+] use castspell - [+] cope with 'ESC' presses during normal travel - [+] allow "maycancel" in askchar - [+] make wizards NOT automatically know wild magic - [+] is F_MPMOD working? check with elf wizard....... - [+] now it is. - [+] bug: create an elf, go over it, v - CRASH in makedesc_race. - [+] removeob() should update burdened status - [+] ie drinking a potion - [+] wizards start with a staff and a pointy hat - [+] don't "stir in your slumber" if meditating - [+] elves should have higher mp - [+] dwarves should have lower mp - [+] when monsters fail to open a door, abandon their targetcell - [+] might be able to jsut make failing a dooropen count as a move failure. - [+] HiGrv didn't stop me from moving? i passed the skill check, need to have a msg telling me this. - [+] race descriptions. - [+] add the descriptions - [+] ? in @@ shows info on them. - [+] (add ?=help in the bottom when in @ mode regardless of showall) - [+] make clouds expand as they disappate - [+] modify gethitstokill() to take "useevasion" and "usearmour" as a parameter - [+] at adept lore, you get threat comparison. at skilled level you get exact hit turns. - [+] make threat calculation use gethitstokill - [+] TEST new threat calc * [+] way too easy to notice traps on chests from 4-5 cells away, with only novice perception - [+] make cloudkill create puff of poison gas rather than a cloud - [+] attacking should count as movement (ie dont regen stamina) - [+] need more body bash criticals. - [+] torso bruised (acc penalty) - [+] torso bruised badly (higher acc penalty, low dam penalty) - [+] ribs broken (huge acc penalty, med dam penalty) - [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3 turns) - [+] should stop flying when you lose ocnsciousness... - [+] warn before moving with f_pain as well. maybe cahnge confirm_injiury_action ??? - [+] extra warrior skill: aimed strike - [+] -50%acc - [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
enteringmap = B_FALSE; // no time passes for lfs on a different map to the player.
2011-02-01 06:16:13 +11:00
// calculate initial light
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
//calclight(player->cell->map);
2011-02-01 06:16:13 +11:00
// pre-calc line-of-sight for player
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
//precalclos(player);
* [+] BUG: books lose their hidden names after load: - [+] bug: on load i can see in all directions, and impassable stuff around me is obliterated! - [+] warn when attacking will rust your weapon (if wis high enough) - [+] yumi should like killing injured things - [+] bug: sandman isn't attacking or casting spells. - wasn't hostile. * [+] bug: not able to sell gems in a jewelery store - [+] when something casts swap places, need to redo los for the target too! - [+] "you feel a wrenching sensation" should have 'more' after it. - [+] stat bonuses for gods - [+] yumi - boost wis - [+] glorana - boost con - [+] Lumara - boost iq - [+] enchant weapon should remove rust too. - [+] only place a pool of blood if monster is large enouhg - [+] when mosnters steal gold, let them take more than just one! - [+] monstres need to retain F_HOSTILE on polymorph! forgot about rndhostile - [+] change some eatconfers to blood confers - [+] make blood splashes combine properly - [+] test with troll blood - [+] when you _kill_ something, drop more blood - [+] when you behead/bisect, do splatter - [+] in knowledge, show: "its blood can be bottled to make xxx" - [+] (at skilled knowledge level) - [+] test.... - [+] replace eatconfer flags with f_fillpot - [+] make sure monsters with fillpot actually bleed - [+] make slash etc damage ALWAYS cause bleed - [+] make projectile damage only cause bleed if the object is pointy (f_missiledam) - [+] make bashing not cause bleed - [+] make sure that bottling blood reduces/kills the object. - [+] robots should bleed oil - [+] CRASH: during lfhasflag(dodges) - lf.c:20201 (getobname - [+] getting ob name of 'rdata' from celldangrous() - [+] but rdata->pile is bad... - [+] and object was a manual. why was a goblin avoiding a manual? - [+] celldangerous() actually set rdata to "deep water" - [+] ....but somehow it changed to point to a manual!!! - [+] getdodgecell() changed it! - [+] bug: when a monster kills anohter: - [+] "the xxx hits the xxx" - [+] (no death message). - [+] either include "xxx dies". or make "xxx kills xxx". - [+] fixed, i think. wasn't calling getkillverb when attacker was a monster.
2012-06-03 08:43:18 +10:00
if (!foundsavegame) {
player->facing = D_ALL;
}
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
setlosdirty(player);
2010-12-02 12:17:54 +11:00
* [+] BUG: books lose their hidden names after load: - [+] bug: on load i can see in all directions, and impassable stuff around me is obliterated! - [+] warn when attacking will rust your weapon (if wis high enough) - [+] yumi should like killing injured things - [+] bug: sandman isn't attacking or casting spells. - wasn't hostile. * [+] bug: not able to sell gems in a jewelery store - [+] when something casts swap places, need to redo los for the target too! - [+] "you feel a wrenching sensation" should have 'more' after it. - [+] stat bonuses for gods - [+] yumi - boost wis - [+] glorana - boost con - [+] Lumara - boost iq - [+] enchant weapon should remove rust too. - [+] only place a pool of blood if monster is large enouhg - [+] when mosnters steal gold, let them take more than just one! - [+] monstres need to retain F_HOSTILE on polymorph! forgot about rndhostile - [+] change some eatconfers to blood confers - [+] make blood splashes combine properly - [+] test with troll blood - [+] when you _kill_ something, drop more blood - [+] when you behead/bisect, do splatter - [+] in knowledge, show: "its blood can be bottled to make xxx" - [+] (at skilled knowledge level) - [+] test.... - [+] replace eatconfer flags with f_fillpot - [+] make sure monsters with fillpot actually bleed - [+] make slash etc damage ALWAYS cause bleed - [+] make projectile damage only cause bleed if the object is pointy (f_missiledam) - [+] make bashing not cause bleed - [+] make sure that bottling blood reduces/kills the object. - [+] robots should bleed oil - [+] CRASH: during lfhasflag(dodges) - lf.c:20201 (getobname - [+] getting ob name of 'rdata' from celldangrous() - [+] but rdata->pile is bad... - [+] and object was a manual. why was a goblin avoiding a manual? - [+] celldangerous() actually set rdata to "deep water" - [+] ....but somehow it changed to point to a manual!!! - [+] getdodgecell() changed it! - [+] bug: when a monster kills anohter: - [+] "the xxx hits the xxx" - [+] (no death message). - [+] either include "xxx dies". or make "xxx kills xxx". - [+] fixed, i think. wasn't calling getkillverb when attacker was a monster.
2012-06-03 08:43:18 +10:00
if (!foundsavegame) {
// changes for anything within los/lof of player's starting pos:
// - don't want any mosnters starting here
// - don't want any impassable objects other than doors
// - don't want any locked doors
slev = getskill(player, SK_CARTOGRAPHY);
for (y = 0; y < player->cell->map->h; y++) {
for (x = 0; x < player->cell->map->w; x++) {
c = getcellat(player->cell->map, x, y);
if (c && (haslos(player, c) || haslof(player->cell, c, LOF_WALLSTOP, NULL))) {
object_t *o,*nexto;
if (c->lf && !isplayer(c->lf) && !ispetof(c->lf, player)) {
killlf(c->lf);
}
for (o = c->obpile->first ; o ; o = nexto) {
nexto = o->next;
if (hasflag(o->flags, F_IMPASSABLE) && !hasflag(o->flags, F_DOOR)) {
killob(o);
continue;
} else {
killflagsofid(o->flags, F_LOCKED);
}
}
- [+] battlemage spellbook - [+] make it grimoire. - [+] don't learn the first spell automatically - [+] only start with 3 spell schools, and they must be from: - [+] wizards with no subjob: - [+] get a grimoire rather than a spellbook. but first spell is always mana spike? - [+] need some frequent forest vaults - [+] tree passage: - [+] tree circle - [+] more enlarge/shrink object effects - [+] wooden door = wood wall - [+] wooden barrel - wooden dor - [+] i turned into a cloud of gas. why was i not flying? - [+] when you polymorph to creautre with natural flight, start flying right away - [+] show %age chance when studying a scroll - [+] redo skillcheck code so we can calculate % chance beforehand. - [+] automatically unlock all doors in starting room - [+] reduce accuracy for innate attakcs- at the moment they always hit! - [+] based on agility. - [+] test with monk...... - [+] You have the following spells active: 3 damage reduction, vuln to fire - [+] grimoire - why could druid see 'knock' ? think this is fixed now. - [+] new killverbs: "murdered" "slain" - [+] superheat not working if you miss. fixed. - [+] skillchecks for NC_SPELLEFFECT noises should always succeed. - [+] modifydamage dealt now that monsters have more hp: - [+] initial wizard spells - [+] chill - [+] spark - [+] manaspike - [+] later wiz spells - [+] fire on ground - [+] new type of spellbook: - [+] general - one spell from each school "spell tome" ? "xxx's grimoire"/ - [+] another flagpile corruption bug. - [+] asked a mammoan hunter to join me. - [+] Marcus shouts "Beware a mosquitoid!". You hear heavy footsteps. - [+] Assertion failed: ("flagpile is corrupt!" == 0), function checkflagpile, file flag.c, line 456. - [+] (timeeffects on footprints) - [-] when you "vomit then wake up", need to recalc los - [+] killflag() is meant to fix this! - [ ] why isnt it working? - [+] bug: wasn't identify()ing starting weapons when you selected them. - [+] allow temples to try to belss unknown objects. - [+] allow describing obs from askobmulti() - [+] warrior read a grimoire, why did it get identified? fixed. - [+] reduce cost to repair stuff - [+] dancing flame -l1: fires spread to adjacent lfs - [+] cleansing fire = l2: use nearby fire to heal -heal (power*20)% from each one. - [+] maxpower 5 - [+] quicken fire - l4: make flame primarliry - [+] magic barriers should vanish if you walk into your own one - [+] implement - [+] fleeing from something with F_NOMOVE shouldn't be cowardice - [+] fix crash in check_for_block() - [+] new branch: sylvan forest - [+] entrance to this branch: hollow tree? * [+] add some forest vaults - [+] get rid of 'the sun is coming up" messages - [+] nature spells which work better outside need to change... make it 'when in sylvan woods' instead - [+] need a spell to teleport to entrance of a branch! - [+] done. TRAVEL.
2012-03-27 07:21:43 +11:00
}
* [+] F_prone if you're knocked down - [+] make sheilds very good against projectiles - [+] make smoke just REDUCE vision, not block it. - [+] noncorporeal should stop grabs! * [+] don't say 'a javelin is damaged' when you throw it, just apply the damge - [+] increase damage bonus with every lore level. +10% each time (ie. up to 50% at top) * [+] give accuracy + critical bonus for lore levles too - [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle] - [+] Show Pain on botl. * [+] more staves - [+] low hitpoint warning for pets (or make them shriek, whine, etc) - [+] CRITKNOCKDOWN * [+] FINISH GRIZZLY - [+] undead should be immune to poison!! - [+] make code to auto add flags to undead. - [+] if you ever move a door (ie. airblast), automatically open it. - [+] young wolf shouldn't be able to open a door! * [+] You throw a dart at the carpet snake. Your dart misses you.--More-- - [+] no sprinting while burdneed - [+] blood should be drawn BELOW stairs - [+] weilded torch should do 1d4 fire damage (counts as a club) * [+] The skeleton touches a leather belt then recoils in pain!The skeleton drops a blessed leather belt.The skeleton puts on a leather belt. - [+] don't show "you can cast it at power level xxx" for abilities * [+] more item randomising - [+] make grey ooze splatter into acid - [+] "the vine grabs you" if you walk onto an entangling vine. - [+] don't start monsters within player's los - [+] properly randomise sticks to snakes - [+] stirge - [+] leech (like stirge but can charge/leap, and slightly more hp / damage) - [+] treesnake - [+] constrictor - [+] cobra - [+] stickes to snakes - make caster's weapon revert. - [+] A something comes into view. - [+] is invisibility code working properly when you see someone use the invis spell? - [+] don't include cosmetic objects in 'you see xxx' * [+] monsters: don't use spells if you don't have lof. - [+] pets not following around corners if you move diagonally. fixed a little. - [+] summon small animals (2-3 x SZ_SMALL) * [+] jet of water - [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc) - [+] lightning storm (lightbning everyone within los, and more damage) - [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
}
}
- [+] add f_nostam to undead. - [+] add nonausea rather than nosmell sometimes. - [+] rats should eb able to smell, but not get nauseated. - [+] fix triumph pleasure for bjorn. must be no monsters within LOF... or within radius ? - [+] and make it very low piety gain. - [+] remember which level we got flags form - [+] flag_t -> fromlev - [+] announce this in getflagcourse - [+] undead qualities - [+] no criticals - [+] don't naturally heal - [+] don't breath - [+] drainlevel(fromlf) - [+] check for dtresist necrotic - [+] fitness saving throw (difficulty is 100 + fromlf's level*6) - [+] call loselevel() - [+] loselevel() - [+] announce. - [+] drop maxhp. - [+] adjust hp appropriately - [+] lose any flags where >fromlev is too high. - [+] handle monk f_hasattack specially. - [+] getmonkdr(level) - [+] getmonkattacks(level) - [+] keep track of what stats we gained and lose them again. - [+] TEST level drain with cursed xp pot - [+] TEST level drain with stats... - [+] prevent drinking when wearing full-face masks like gas mask/football helmet - [+] implement f_COVERSFACE. - [+] add it to objects. - [+] check it when doing caneat() candrink() - [+] up their AC bonus too - [+] large scorpion - [+] hellhound - [+] large primalities - [+] new vault flag: usehabitat:xxx - [+] means "set the habitat of all vault cells to xxx" - [+] real_getrandomob() should be given a CELL, not MAP. - [+] getrandomobofclass() should be given a CELL, not MAP. - [+] use CELL habitat to determine random obs - [+] apply to caves - [+] vault scatter: ignore locked cells (ie. reusable ones) new vaults - [+] dualroom - [+] sauna - vhot! - [+] pentagram and demons new pionic spells - [+] chi bolt - low dam ranged attack 1d4 - [+] chi strike (l4) - add 1d4 explosive damage to melee hits
2012-12-03 16:12:29 +11:00
* [+] F_prone if you're knocked down - [+] make sheilds very good against projectiles - [+] make smoke just REDUCE vision, not block it. - [+] noncorporeal should stop grabs! * [+] don't say 'a javelin is damaged' when you throw it, just apply the damge - [+] increase damage bonus with every lore level. +10% each time (ie. up to 50% at top) * [+] give accuracy + critical bonus for lore levles too - [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle] - [+] Show Pain on botl. * [+] more staves - [+] low hitpoint warning for pets (or make them shriek, whine, etc) - [+] CRITKNOCKDOWN * [+] FINISH GRIZZLY - [+] undead should be immune to poison!! - [+] make code to auto add flags to undead. - [+] if you ever move a door (ie. airblast), automatically open it. - [+] young wolf shouldn't be able to open a door! * [+] You throw a dart at the carpet snake. Your dart misses you.--More-- - [+] no sprinting while burdneed - [+] blood should be drawn BELOW stairs - [+] weilded torch should do 1d4 fire damage (counts as a club) * [+] The skeleton touches a leather belt then recoils in pain!The skeleton drops a blessed leather belt.The skeleton puts on a leather belt. - [+] don't show "you can cast it at power level xxx" for abilities * [+] more item randomising - [+] make grey ooze splatter into acid - [+] "the vine grabs you" if you walk onto an entangling vine. - [+] don't start monsters within player's los - [+] properly randomise sticks to snakes - [+] stirge - [+] leech (like stirge but can charge/leap, and slightly more hp / damage) - [+] treesnake - [+] constrictor - [+] cobra - [+] stickes to snakes - make caster's weapon revert. - [+] A something comes into view. - [+] is invisibility code working properly when you see someone use the invis spell? - [+] don't include cosmetic objects in 'you see xxx' * [+] monsters: don't use spells if you don't have lof. - [+] pets not following around corners if you move diagonally. fixed a little. - [+] summon small animals (2-3 x SZ_SMALL) * [+] jet of water - [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc) - [+] lightning storm (lightbning everyone within los, and more damage) - [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
}
* [+] BUG: books lose their hidden names after load: - [+] bug: on load i can see in all directions, and impassable stuff around me is obliterated! - [+] warn when attacking will rust your weapon (if wis high enough) - [+] yumi should like killing injured things - [+] bug: sandman isn't attacking or casting spells. - wasn't hostile. * [+] bug: not able to sell gems in a jewelery store - [+] when something casts swap places, need to redo los for the target too! - [+] "you feel a wrenching sensation" should have 'more' after it. - [+] stat bonuses for gods - [+] yumi - boost wis - [+] glorana - boost con - [+] Lumara - boost iq - [+] enchant weapon should remove rust too. - [+] only place a pool of blood if monster is large enouhg - [+] when mosnters steal gold, let them take more than just one! - [+] monstres need to retain F_HOSTILE on polymorph! forgot about rndhostile - [+] change some eatconfers to blood confers - [+] make blood splashes combine properly - [+] test with troll blood - [+] when you _kill_ something, drop more blood - [+] when you behead/bisect, do splatter - [+] in knowledge, show: "its blood can be bottled to make xxx" - [+] (at skilled knowledge level) - [+] test.... - [+] replace eatconfer flags with f_fillpot - [+] make sure monsters with fillpot actually bleed - [+] make slash etc damage ALWAYS cause bleed - [+] make projectile damage only cause bleed if the object is pointy (f_missiledam) - [+] make bashing not cause bleed - [+] make sure that bottling blood reduces/kills the object. - [+] robots should bleed oil - [+] CRASH: during lfhasflag(dodges) - lf.c:20201 (getobname - [+] getting ob name of 'rdata' from celldangrous() - [+] but rdata->pile is bad... - [+] and object was a manual. why was a goblin avoiding a manual? - [+] celldangerous() actually set rdata to "deep water" - [+] ....but somehow it changed to point to a manual!!! - [+] getdodgecell() changed it! - [+] bug: when a monster kills anohter: - [+] "the xxx hits the xxx" - [+] (no death message). - [+] either include "xxx dies". or make "xxx kills xxx". - [+] fixed, i think. wasn't calling getkillverb when attacker was a monster.
2012-06-03 08:43:18 +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
needredraw = B_TRUE;
statdirty = B_TRUE;
2011-05-20 06:30:58 +10:00
// start game
gamemode = GM_GAMESTARTED;
// redo light and player los
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
//calclight(player->cell->map);
- [+] corpse colours aren't working anymore. - [+] bug: knocking a sleeping lf unconscious fails, they kepe sleeping. need to change the f_sleeping flag! - [+] another secret door bug: can identify them in askcoords!! fixed. - [+] wrong order for text: - [+] You attack the helpless kobold! You kill the kobold! The kobold shouts "This isn't over!". - [+] SOLUTION: say "the dying kobold shouts ...." - [+] only use death text somtimes. random chance. - [+] force player sarting dir to be the one with the most LOS cells. - [+] avian/ashkari monks - [+] at both initial creation and levleup: - [+] need to update hasattack claws, not hasattack fists. - [+] genericise this to just use whatever f_hasattack flag you have? - [+] bug with flying creatures falling: - [+] You miss the giant bat. The giant bat bites you. The giant bat stops flying. The giant bat falls to the ground. The giant bat's ribs are cracked! - [+] was causing ATTACKER to fall, not defender. - [+] fix bug with objects falling through pits. - [+] new sewer map type: - [+] BUG: getting empty map!!! - [+] roomon etc is good. - [+] but map empty - [+] probably an issue with corridor vs section size... - [+] make drains be locked again - [+] grating causes stench - [+] monsters: - [+] aquatic animals (piranha, merloch, etc) - [+] slimes - [+] troglodytes (and anything which causes stench) - [+] rats - [+] water snakes - [+] drains should make sounds ("you hear a drip") - [+] snakes shouldn't get nauseated. - [+] F_NOSMELL. - [+] feigh death shouldn't work on things which are attached to you (leech/mosquitoid) - [+] stores should never sell gold coins!!! - [+] givestartobs() - give a potion of water instead if it's going to a shop - [+] no resting when raged - [+] make MAXIMUM map height higher. bumped from 20 to 30. - [+] grating cell/object? - [+] liquids fall through it. - [+] to unlock it: - [+] loosen with spanner - [+] knock spell - [+] pick the lock - [+] lock hacker
2011-11-30 13:06:16 +11:00
// make player face the direction which gives them the most visibility
// as we check, set all cells around us to start off known.
* [+] BUG: books lose their hidden names after load: - [+] bug: on load i can see in all directions, and impassable stuff around me is obliterated! - [+] warn when attacking will rust your weapon (if wis high enough) - [+] yumi should like killing injured things - [+] bug: sandman isn't attacking or casting spells. - wasn't hostile. * [+] bug: not able to sell gems in a jewelery store - [+] when something casts swap places, need to redo los for the target too! - [+] "you feel a wrenching sensation" should have 'more' after it. - [+] stat bonuses for gods - [+] yumi - boost wis - [+] glorana - boost con - [+] Lumara - boost iq - [+] enchant weapon should remove rust too. - [+] only place a pool of blood if monster is large enouhg - [+] when mosnters steal gold, let them take more than just one! - [+] monstres need to retain F_HOSTILE on polymorph! forgot about rndhostile - [+] change some eatconfers to blood confers - [+] make blood splashes combine properly - [+] test with troll blood - [+] when you _kill_ something, drop more blood - [+] when you behead/bisect, do splatter - [+] in knowledge, show: "its blood can be bottled to make xxx" - [+] (at skilled knowledge level) - [+] test.... - [+] replace eatconfer flags with f_fillpot - [+] make sure monsters with fillpot actually bleed - [+] make slash etc damage ALWAYS cause bleed - [+] make projectile damage only cause bleed if the object is pointy (f_missiledam) - [+] make bashing not cause bleed - [+] make sure that bottling blood reduces/kills the object. - [+] robots should bleed oil - [+] CRASH: during lfhasflag(dodges) - lf.c:20201 (getobname - [+] getting ob name of 'rdata' from celldangrous() - [+] but rdata->pile is bad... - [+] and object was a manual. why was a goblin avoiding a manual? - [+] celldangerous() actually set rdata to "deep water" - [+] ....but somehow it changed to point to a manual!!! - [+] getdodgecell() changed it! - [+] bug: when a monster kills anohter: - [+] "the xxx hits the xxx" - [+] (no death message). - [+] either include "xxx dies". or make "xxx kills xxx". - [+] fixed, i think. wasn't calling getkillverb when attacker was a monster.
2012-06-03 08:43:18 +10:00
if (!foundsavegame) {
- [+] corpse colours aren't working anymore. - [+] bug: knocking a sleeping lf unconscious fails, they kepe sleeping. need to change the f_sleeping flag! - [+] another secret door bug: can identify them in askcoords!! fixed. - [+] wrong order for text: - [+] You attack the helpless kobold! You kill the kobold! The kobold shouts "This isn't over!". - [+] SOLUTION: say "the dying kobold shouts ...." - [+] only use death text somtimes. random chance. - [+] force player sarting dir to be the one with the most LOS cells. - [+] avian/ashkari monks - [+] at both initial creation and levleup: - [+] need to update hasattack claws, not hasattack fists. - [+] genericise this to just use whatever f_hasattack flag you have? - [+] bug with flying creatures falling: - [+] You miss the giant bat. The giant bat bites you. The giant bat stops flying. The giant bat falls to the ground. The giant bat's ribs are cracked! - [+] was causing ATTACKER to fall, not defender. - [+] fix bug with objects falling through pits. - [+] new sewer map type: - [+] BUG: getting empty map!!! - [+] roomon etc is good. - [+] but map empty - [+] probably an issue with corridor vs section size... - [+] make drains be locked again - [+] grating causes stench - [+] monsters: - [+] aquatic animals (piranha, merloch, etc) - [+] slimes - [+] troglodytes (and anything which causes stench) - [+] rats - [+] water snakes - [+] drains should make sounds ("you hear a drip") - [+] snakes shouldn't get nauseated. - [+] F_NOSMELL. - [+] feigh death shouldn't work on things which are attached to you (leech/mosquitoid) - [+] stores should never sell gold coins!!! - [+] givestartobs() - give a potion of water instead if it's going to a shop - [+] no resting when raged - [+] make MAXIMUM map height higher. bumped from 20 to 30. - [+] grating cell/object? - [+] liquids fall through it. - [+] to unlock it: - [+] loosen with spanner - [+] knock spell - [+] pick the lock - [+] lock hacker
2011-11-30 13:06:16 +11:00
int bestdir = D_NONE;
int bestlos = -1;
for (i = DC_N; i <= DC_NW; i++) {
setfacing(player, i);
precalclos(player);
updateknowncells();
- [+] corpse colours aren't working anymore. - [+] bug: knocking a sleeping lf unconscious fails, they kepe sleeping. need to change the f_sleeping flag! - [+] another secret door bug: can identify them in askcoords!! fixed. - [+] wrong order for text: - [+] You attack the helpless kobold! You kill the kobold! The kobold shouts "This isn't over!". - [+] SOLUTION: say "the dying kobold shouts ...." - [+] only use death text somtimes. random chance. - [+] force player sarting dir to be the one with the most LOS cells. - [+] avian/ashkari monks - [+] at both initial creation and levleup: - [+] need to update hasattack claws, not hasattack fists. - [+] genericise this to just use whatever f_hasattack flag you have? - [+] bug with flying creatures falling: - [+] You miss the giant bat. The giant bat bites you. The giant bat stops flying. The giant bat falls to the ground. The giant bat's ribs are cracked! - [+] was causing ATTACKER to fall, not defender. - [+] fix bug with objects falling through pits. - [+] new sewer map type: - [+] BUG: getting empty map!!! - [+] roomon etc is good. - [+] but map empty - [+] probably an issue with corridor vs section size... - [+] make drains be locked again - [+] grating causes stench - [+] monsters: - [+] aquatic animals (piranha, merloch, etc) - [+] slimes - [+] troglodytes (and anything which causes stench) - [+] rats - [+] water snakes - [+] drains should make sounds ("you hear a drip") - [+] snakes shouldn't get nauseated. - [+] F_NOSMELL. - [+] feigh death shouldn't work on things which are attached to you (leech/mosquitoid) - [+] stores should never sell gold coins!!! - [+] givestartobs() - give a potion of water instead if it's going to a shop - [+] no resting when raged - [+] make MAXIMUM map height higher. bumped from 20 to 30. - [+] grating cell/object? - [+] liquids fall through it. - [+] to unlock it: - [+] loosen with spanner - [+] knock spell - [+] pick the lock - [+] lock hacker
2011-11-30 13:06:16 +11:00
if (player->nlos > bestlos) {
bestlos = player->nlos;
bestdir = i;
}
}
player->facing = bestdir;
- [+] corpse colours aren't working anymore. - [+] bug: knocking a sleeping lf unconscious fails, they kepe sleeping. need to change the f_sleeping flag! - [+] another secret door bug: can identify them in askcoords!! fixed. - [+] wrong order for text: - [+] You attack the helpless kobold! You kill the kobold! The kobold shouts "This isn't over!". - [+] SOLUTION: say "the dying kobold shouts ...." - [+] only use death text somtimes. random chance. - [+] force player sarting dir to be the one with the most LOS cells. - [+] avian/ashkari monks - [+] at both initial creation and levleup: - [+] need to update hasattack claws, not hasattack fists. - [+] genericise this to just use whatever f_hasattack flag you have? - [+] bug with flying creatures falling: - [+] You miss the giant bat. The giant bat bites you. The giant bat stops flying. The giant bat falls to the ground. The giant bat's ribs are cracked! - [+] was causing ATTACKER to fall, not defender. - [+] fix bug with objects falling through pits. - [+] new sewer map type: - [+] BUG: getting empty map!!! - [+] roomon etc is good. - [+] but map empty - [+] probably an issue with corridor vs section size... - [+] make drains be locked again - [+] grating causes stench - [+] monsters: - [+] aquatic animals (piranha, merloch, etc) - [+] slimes - [+] troglodytes (and anything which causes stench) - [+] rats - [+] water snakes - [+] drains should make sounds ("you hear a drip") - [+] snakes shouldn't get nauseated. - [+] F_NOSMELL. - [+] feigh death shouldn't work on things which are attached to you (leech/mosquitoid) - [+] stores should never sell gold coins!!! - [+] givestartobs() - give a potion of water instead if it's going to a shop - [+] no resting when raged - [+] make MAXIMUM map height higher. bumped from 20 to 30. - [+] grating cell/object? - [+] liquids fall through it. - [+] to unlock it: - [+] loosen with spanner - [+] knock spell - [+] pick the lock - [+] lock hacker
2011-11-30 13:06:16 +11:00
precalclos(player);
}
2011-05-20 06:30:58 +10:00
2010-12-02 12:17:54 +11:00
// show level
drawscreen();
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
if (!hasjob(player, J_GOD) && (lfhasflag(player, F_CANCAST) || lfhasflag(player, F_CANWILL))) {
int order[3] = { FROMRACE, FROMJOB, FROMSKILL }, norder = 3;
int first = B_TRUE,i,nspells = 0, nabils = 0, n;
char buf[BUFLEN];
cls();
wmove(mainwin, 0, 0);
textwithcol(mainwin, welcomemsg);
textwithcol(mainwin, "\n\n");
// show spells
getflags(player->flags, retflag, &nspells, F_CANCAST, F_NONE);
for (n = 0; n < norder; n++) {
for (i = 0; i < nspells; i++) {
objecttype_t *sp;
if (retflag[i]->lifetime != order[n]) continue;
sp = findot(retflag[i]->val[0]);
if (sp) {
if (first) {
textwithcol(mainwin, "Your starting spells are:\n");
first = B_FALSE;
}
snprintf(buf, BUFLEN, " - %-20s (%s", sp->name, getschoolname(getspellschoolknown(player, sp->id)) );
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
if (order[n] == FROMRACE) {
char rname[BUFLEN];
strcat(buf, ", ^g");
snprintf(rname, BUFLEN, "%s", player->race->name);
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
capitalise(rname);
strcat(buf, rname);
strcat(buf, " perk^n");
} else if (order[n] == FROMJOB) {
strcat(buf, ", ^G");
strcat(buf, getjobname(player));
strcat(buf, " perk^n");
} else if (order[n] == FROMSKILL) {
skill_t *sk;
enum SKILLLEVEL whichlev;
sk = retflag[i]->skillfrom;
assert(sk);
whichlev = whichlevforabil(sk->id, sp->id);
assert(whichlev != PR_INEPT);
strcat(buf, ", ^w");
strcat(buf, getskilllevelname(whichlev));
strcat(buf, " ");
strcat(buf, sk->name);
strcat(buf, " perk^n");
}
strcat(buf, ")\n");
textwithcol(mainwin, buf);
}
}
}
if (nspells) {
textwithcol(mainwin, "\n");
}
// show racial and job abilities
first = B_TRUE;
getflags(player->flags, retflag, &nabils, F_CANWILL, F_NONE);
for (n = 0; n < norder; n++) {
for (i = 0; i < nabils; i++) {
objecttype_t *sp;
// don't list abilities which everyone has.
if (retflag[i]->lifetime == FROMGAMESTART) continue;
if (retflag[i]->lifetime != order[n]) continue;
sp = findot(retflag[i]->val[0]);
if (sp) {
if (first) {
textwithcol(mainwin, "Your unique starting abilities are:\n");
first = B_FALSE;
}
snprintf(buf, BUFLEN, " - %-20s", sp->name);
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
if (order[n] == FROMRACE) {
char rname[BUFLEN];
strcat(buf, " (^g");
snprintf(rname, BUFLEN, "%s", player->race->name);
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
capitalise(rname);
strcat(buf, rname);
strcat(buf, " perk^n)");
} else if (order[n] == FROMJOB) {
strcat(buf, " (^G");
strcat(buf, getjobname(player));
strcat(buf, " perk^n)");
} else if (order[n] == FROMSKILL) {
skill_t *sk;
enum SKILLLEVEL whichlev;
sk = retflag[i]->skillfrom;
assert(sk);
whichlev = whichlevforabil(sk->id, sp->id);
assert(whichlev != PR_INEPT);
strcat(buf, " (^w");
strcat(buf, getskilllevelname(whichlev));
strcat(buf, " ");
strcat(buf, sk->name);
strcat(buf, " perk^n)");
}
strcat(buf, "\n");
textwithcol(mainwin, buf);
}
}
}
if (nabils) {
textwithcol(mainwin, "\n");
}
wprintw(mainwin, "\n[Press any key to begin]");
getch();
restoregamewindows();
}
- [+] modifications to alchemy spell - affect stone, not metal - [+] fire/cold spells: - [+] endure fire/cold - [+] L2 - [+] ongoing - [+] like endure elements but only one element. - [+] fire - done - [+] cold - done - [+] negate fire/cold - [+] L3 ongoing - [+] rename "gold coin" to "gold dollar" - [+] announce mosnters losing interest. - [+] if accuracy is too low, chance to fumble your atttack if you miss. - [+] ie. drop weapon - [+] show "please wait' message during initial build. - [+] why can't i fill an empty flask from a potion of blood? - [+] because blood grew into a bigger one - [+] CRASH - go to a shop, 'sell gems', pick a letter not in the list - [+] The giant ant kills the kobold. The kobold dies. - [+] never use "kills" when a monsters is killing another one. - [+] implement CURSED scroll of wishing effects. - [+] stoning - [+] hostile summons - [+] insanity- drop iq prmenantly - [+] golden boulder - [+] proximity mine (l3 tech) - [+] if activated, explodes when someone walks ONTO it (but not _off_ it) - [+] only gtaverage WIS _or_ adept tech knowledge won't walk onto it - [+] rollerskates (wear on feet, move fast fowards) - [+] jet skates (faster version of rollerskates) - [+] only work when ACTIVATED - [+] only work when they have CHARGES left - [+] drain charges when activated (like a jetpack) - [+] cattle prod - piercing DR 1, +10 electical dam while it has charges - [+] f_extradamwithcharges - [+] computers - [+] operable - [+] no pickup (or at least, VERY heavy) - [+] need tech usage to use. - [+] get choices equal to your tech level (novice = random) - [+] choices: - [+] 1 M = map whole level - [+] 2 O = show location of loot (detect objects) - [+] 3 L = show lifeforms - [+] 5 D = explode - [+] 6 I = identify one item. - [+] 7U - unlock all doors + chests - [+] at high techusage you can pick destruct time ?j:e sp
2012-06-25 22:49:53 +10:00
clearmsg();
2011-03-11 12:25:38 +11:00
msg("%s",welcomemsg);
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
//more();
- [+] glorana doesn't like you attacking during Glorana's Peace - [+] make more shops let you donate - [+] bookstore - [+] jewellery store - [+] rename blood hawk to hunting hawk - [+] offering a bribe to creatures should make them move likely to helkp you, AND reset the "auto don't help' flag - [+] change "get lost " message to "get lost, <racename>" if your race is different. - [+] sayphrase() needs a new arg: lifeform_t *talkingto - [+] colours for spell effect. - [+] eg. "the flame dart hits xxx" should use CC_BAD - [+] muddy room - mud should be immutable. - [+] maybe change rage - you lose control totally and just attack anything in sight? - [+] do it. - [+] don't train when enraged - [+] don't hear sounds when enraged - [+] RAGE effects: strength bonus, accuracy bonus, infinite stamina, never flee, - [+] fix bug in skill point calculation - [+] CRASH - someone got their turn BEFORE the player! - [+] new poisontype field - contracttext - [+] hecta's pray effect not working. - [+] adjust food poisioning check difficulty based on food age - [+] check OBHP percentage of max. - [+] >= 80% obhp means -30% difficulty check - [+] ring of unholiness should confer dtvuln holy. - [+] fix colour on spellclouds - [+] fix bug with spellclouds not affecting centre cell. - [+] if you are frozen, heat does extra damage and cold does none. - [+] when frozen, lessen chance of melting. - [+] reduce bite damage of snakes - [+] balaclava should protect from gas - [+] make some floor types (like carpet) be multicoloured - [+] celltype->altcolour - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is true. - [+] don't regain stamina while training - [+] random text in shops - sayphrase needs to cope with lf == null - [+] done - [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with staves! - [+] BUG: in vault.vlt. - [+] "30% chance of door" really means "otherwise empty cell" - [+] need to be able to say "else put a wall here" - [+] so change: - [+] c:type:what[:pct] - [+] to this: - [+] c:type:what[:pct][:alttype:altwhat] - [+] vlegend_t needs - [+] enum VAULTTHING tt2 - [+] char *what2 - [+] they default to VT_NONE, NULL - [+] secret doors should take their fake wall type from the vault spec - [+] vaults need f_celltypeempty/solid flags - [+] add via: solid:xxx in vault def - [+] recycler - [+] donate anything
2012-07-15 15:01:58 +10:00
playerorigalignment = getalignment(player);
2011-03-11 12:25:38 +11:00
2010-12-02 12:17:54 +11:00
// MAIN LOOP
2011-02-01 06:16:13 +11:00
// basic flow is:
//
// donextturn() - process a turn for a lifeform
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
// startlfturn() Rest effects, Damage from floor objects, etc
2011-02-01 06:16:13 +11:00
// lifeform takes action
// checkdeath() - check for object/player death. remove dead things.
// timeeffectsworld() Fires burn out, ice melts, etc
// Also keeps lf->timespent values under control.
//
//
// redraw screen
//
// checkendgame() - has the game ended yet?
2010-12-02 12:17:54 +11:00
gameover = B_FALSE;
while (!gameover) {
2011-02-01 06:16:13 +11:00
map_t *curmap;
curmap = player->cell->map;
2010-12-02 12:17:54 +11:00
2011-02-01 06:16:13 +11:00
// default to no redraw - donextturn() will change this if needed.
needredraw = B_FALSE;
numdraws = 0;
2010-12-02 12:17:54 +11:00
// someone has a turn - this will then call taketime
2011-02-01 06:16:13 +11:00
donextturn(curmap);
2010-12-02 12:17:54 +11:00
2011-02-01 06:16:13 +11:00
// show level (if required)
2010-12-02 12:17:54 +11:00
drawscreen();
2011-08-18 06:57:43 +10:00
2011-02-01 06:16:13 +11:00
//dblog("**** END of turn, numdraws = %d", numdraws);
2010-12-02 12:17:54 +11:00
// check end of game
checkendgame();
}
2011-02-01 06:16:13 +11:00
// identify all objects
for (o = player->pack->first ; o ; o = o->next) {
identify(o);
}
// show possessions
dofinaloblist(player->pack);
2010-12-02 12:17:54 +11:00
// print tombstone
tombstone(player);
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
//WriteMemLeak();
2011-02-01 06:16:13 +11:00
return B_FALSE;
2010-12-02 12:17:54 +11:00
}
- [+] most monsters which covet food should have snatch - so that you can just drop food for them. - [+] when looking for remote obs, DO include adjacent cells with lfs, if we have the snatch ability. - [+] some long thin levels (80 x 12 ?) - [+] fix code to remove useless doors. - [+] 0 pairs of dirs with empty cells = change door to wall - [+] pick an adjacent empty cell - [+] floodfill the 8 cells around the door. - [+] start with adj cell - [+] can't go more than 1 cell away from door - [+] solid cells or doors will stop movement - [+] if no unfilled cells around the door, bad. - [+] new way of fixing unconnected levels - portal! - [+] pick one spot in each section then place a portal there. - [+] dying should cure poison - [+] tweaks to attack text - [+] floor tile effecst - [+] absorbancy - ie. carpet should absorb water. - [+] converyors - [+] only walkable sometime (crushers?) - [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus" - [+] god of nature should like eating animals all the time, not just when hungry (makes piety gain easier) - [+] announce when eyes are protected from a spellcloud - [+] klikirak should like setting off fire traps. - [+] floodfill() should follow portals to the same level. - [+] show >1 skillpoints in green on status bar - [+] bug: gods are apeparing behind you. - [+] bug in getrandomadjcell - [+] gods' planeshift spells failing? might be fixed now. using getrandomroomcell instead of getrandomcell. - [+] increaes damage dealt by smite evil/good - [+] lightning javelins shouldn't be stackable - [+] monsters not firing ranged weapons! - [+] they just walk back and forth - [+] bug with how i was calling haslof() for cells other than where the mosnter was (in getdiraway()) - [+] turn undead should only work if caster level*2 is >= monster level fullblock basics: - [+] penalties - [+] lowers visrange to 1 - [+] huge attack penalties - [+] huge evasion penalties - [+] vhigh chance of all ranged damage going to shield instead. - [+] buckler = 75 (small) - [+] shield = 80 - [+] large shield = 85 - [+] tower = 90 - [+] plus shield skill*2 - [+] use check_shield_block in all spell effects - [+] this checks whether player is shieldblocoking (or evades??) - [+] then applies damage appropriatly. - [+] new ability; - [+] stopped by: - [+] losing or unequipping the shield - [+] being interrupted - [+] casting a spell or using an ability - [+] exotic weapons should cost more. - [+] maybe prevent prayer until gods have been pleased enough ? - [+] while you're not worshipping anyone, piety gain is x4. - [+] once first one hits 'pleased', they will appear and offer you a place - [+] advantge to this is that you get a gift - [+] picking up new gold should please felix...... - [+] you shoudl only be able to sacrifice untouched gold. this pleases felix double as much as grabbing it. - [+] gods sohuld appear "in a cloud of ..." - [+] bjorn - blood - [+] klik - fire - [+] lumara - bright light
2012-11-09 22:50:52 +11:00
celltype_t *addcelltype(int id, char *name, int glyph, int colour, int altcol, int solid, int transparent, enum MATERIAL mat, int floorheight, int hp, int volumemod, int absorbent) {
2010-12-02 12:17:54 +11:00
celltype_t *a;
// add to the end of the list
if (firstcelltype == NULL) {
firstcelltype = malloc(sizeof(celltype_t));
a = firstcelltype;
a->prev = NULL;
} else {
// go to end of list
a = lastcelltype;
a->next = malloc(sizeof(celltype_t));
a->next->prev = a;
a = a->next;
}
lastcelltype = a;
a->next = NULL;
// set props
a->id = id;
2011-02-01 06:16:13 +11:00
a->name = strdup(name);
* [+] 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
a->glyph.ch = glyph;
a->glyph.colour = colour;
- [+] glorana doesn't like you attacking during Glorana's Peace - [+] make more shops let you donate - [+] bookstore - [+] jewellery store - [+] rename blood hawk to hunting hawk - [+] offering a bribe to creatures should make them move likely to helkp you, AND reset the "auto don't help' flag - [+] change "get lost " message to "get lost, <racename>" if your race is different. - [+] sayphrase() needs a new arg: lifeform_t *talkingto - [+] colours for spell effect. - [+] eg. "the flame dart hits xxx" should use CC_BAD - [+] muddy room - mud should be immutable. - [+] maybe change rage - you lose control totally and just attack anything in sight? - [+] do it. - [+] don't train when enraged - [+] don't hear sounds when enraged - [+] RAGE effects: strength bonus, accuracy bonus, infinite stamina, never flee, - [+] fix bug in skill point calculation - [+] CRASH - someone got their turn BEFORE the player! - [+] new poisontype field - contracttext - [+] hecta's pray effect not working. - [+] adjust food poisioning check difficulty based on food age - [+] check OBHP percentage of max. - [+] >= 80% obhp means -30% difficulty check - [+] ring of unholiness should confer dtvuln holy. - [+] fix colour on spellclouds - [+] fix bug with spellclouds not affecting centre cell. - [+] if you are frozen, heat does extra damage and cold does none. - [+] when frozen, lessen chance of melting. - [+] reduce bite damage of snakes - [+] balaclava should protect from gas - [+] make some floor types (like carpet) be multicoloured - [+] celltype->altcolour - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is true. - [+] don't regain stamina while training - [+] random text in shops - sayphrase needs to cope with lf == null - [+] done - [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with staves! - [+] BUG: in vault.vlt. - [+] "30% chance of door" really means "otherwise empty cell" - [+] need to be able to say "else put a wall here" - [+] so change: - [+] c:type:what[:pct] - [+] to this: - [+] c:type:what[:pct][:alttype:altwhat] - [+] vlegend_t needs - [+] enum VAULTTHING tt2 - [+] char *what2 - [+] they default to VT_NONE, NULL - [+] secret doors should take their fake wall type from the vault spec - [+] vaults need f_celltypeempty/solid flags - [+] add via: solid:xxx in vault def - [+] recycler - [+] donate anything
2012-07-15 15:01:58 +10:00
if (altcol == NA) {
a->altcol = C_NONE;
} else {
a->altcol = altcol;
}
2010-12-02 12:17:54 +11:00
a->solid = solid;
a->transparent = transparent;
2011-02-01 06:16:13 +11:00
a->material = findmaterial(mat);
- [+] 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
a->floorheight = floorheight;
- [+] add more vrare vaults to reduce likelihood of cockatrice lair! - [+] bazaar - [+] money vault hsould be vrare - [+] so should traproom - [+] rename giant rat to "dire rat" - [+] don't show anything other than object description and throwing for unknown tech - [+] shouldn't be able to rest in a tent if it's not known! - [+] eyebat corpse increase maxmp? - [+] blessed missiles should nearly always hit undead * [+] too easy to dodge thrown missiles? - [+] spell and wand of culinary abundance - [+] if a carnivorous animal kills you: "Eaten by a xxx" * [+] bug: stairsperlev is only ever used in making DUNGEONS. generecise this ?? - [+] safetorest - should ignore monsters feigning death - [+] broken nose should reduce smell range - [+] fresh and stale bread should be interchangable in cooking - [+] make scroll of permenance act on you, not your objects - [+] tweak object rarity yet agian... - [+] bug: hole in roof above player start pos is immediately destroyed. - [+] change pickaxe to be like resting - [+] wait first, then if not interrupted, do the dig. - [+] add cell->hp, celltype->hp. around 100. - [+] f_digging, x, y, digperturn - [+] interrupt() will stop this. - [+] each turn, lower hp of cell by 1. - [+] make wlaking bakwards take less time based on athletics skill!!! - [+] at adept, takes no extra time? - [+] better racial display - [+] ? for extra info. - [+] hitdice - [+] general attribs (str etc) - [+] don't show description until you press '?' - [+] addbonustext(flagpile, f_BONDESC, "asdffas") - to avoid index issues - [+] remove VULNS from "effects" unless temporary - [+] isresistantto() etc need to have "int onlytemp" - [+] remove VULNS from manual BONTEXT flags - [+] CRASH IN DTVULN CODE!! - [+] limit '?r' display ?? - [+] what to show - [+] show races you have encountered - [+] show races you know about through Lore (adept level) - [+] show playable races????? - [+] structs - [+] race->encountered - [+] need to save this. - [+] make EFFECTS only show TEMPORARY effects or ones which don't come from race? - [+] automate bondesc/pendesc based on flags! - [+] vulnarabilities / resist / immun - [+] vision range!! (visrangemod) - [+] size? restricted armour. - [+] stayinroom - [+] f_humanoid (can use weapons) - [+] tamable - [+] seeindark - [+] caneatraw - [+] enhancesmell - [+] caneatraw - [+] vegeatrian - [+] cernivore - [+] fastmetab - [+] startskill - [+] tremorsense - [+] silentmove - [+] deaf - [+] flying / levitating - [+] awareness - [+] nocturnal / diurnal - [+] heavyblow - [+] packattack - [+] dodges - [+] autocreateob - [+] MPMOD - [+] HPMOD - [+] MEDITATES - [+] PHOOTMEM - [+] canwill "Spells: xx, x, x, x" - [+] spells: - [+] animate stone - "power" walls turn into stone golems - [+] implement spell - [+] golem - [+] r_golemstone - [+] knockback attack - [+] high str - [+] fists - [+] corpsetype and iunsummonob = boulder - [+] spell power modification - subtract spell level. - [+] when i go down a drain, make sure the new map links to THE DRAIN I WENT DOWN. not some otehr one. - [+] some monsters shouldn't sleep! add new flag: f_nosleep - [+] make spanner help disarm traps!
2011-12-04 09:33:37 +11:00
a->hp = hp;
- [+] walking on glowing moss sohuld damage it. - [+] make dagger stronger than combat knife (but combat knife is faster) - [+] optimise makefile. - [+] swapplaces message not appearing. - [+] fix exploit for dizziness with 'A' - [+] every time we ask for a direction, use askdirection(prompt). make this do dizziness check. - [+] no shieldblocking or dodging if you have no stamina. - [+] object rarity bugs - [+] i'm finding way too many books! might be fixed now... ? - [+] never finding wands - [+] added debugging to see if there is a problem with wands.... - [+] adjust footstep sound based on material - [+] carpet = soft - [+] stone = normal - [+] tiles = loud - [+] in @e, "you ar etipsy" should also talk about damage resistance. - [+] don't show starting abilities if you are a diety. - [+] don't say 'xx walks out of view' if they didn't move on purpose - [+] CRASH - summon weapon then drop the energy blade. * [+] CRASH when fumbling attack using energy blade. - [+] fighter with wisdom 31. novice perception skill. noticied teleport trap right in front of me. chances? - [+] maybe make it you can never detect anything further away than your perception skill. - [+] fix bug in geteffecttime() - [+] announce starting spells at beginning of game - [+] in skill help, highlight your current level. Maybe: "At Novice level>>> Unskilled weapons etc..." - [+] inept level lore shouldn't show "Adept Stealth" as a strength - [+] when you / then move over a cell with footprints short "Dirt (with human footprints)" - [+] or "Dirt (with xxx foorprints leading east) - [+] typo in killer text - an vs a - [+] get over here! should give you enough time to attack ? - [+] felix prayer should remove impassable objects. - [+] robots shoudl have big penalties to getting up checks. slip, fall, etc. - [+] fix bug when falling off a fence. - [+] BUG: no los when i climb on top of a wooden fence. why? - [+] F_BLOCKSVIEW needs new option: v1 = true means dont block if you are standing on it * [+] engineering / construction skill - replaces 'traps' - [+] fixed bug where you couldn't rest when you pet was visible. - [+] bug: aigetlastknownpos populating lastx & lasty with different info from the the cell returned. - [+] this has happening when following the direction of a scent. - [+] remove display of "xx throws xxx towards you" if you can't see the source and something is in the way. - [+] druid should alway sbe able to swap with plants. - [+] peaceful check should do this - [+] try agian... * [+] problem- create water can be used instead of soften earth ??? - [+] detect life should help with checking stairs. - [+] pentagrams should heal the undead. - [+] ekrub - don't et you sacrifice the flower that appears. * [+] when doing check for piety on eating animals - [+] don't auto give druid short blade skill due to sickle - [+] soften earth on boulder... turn it to mud - [+] adept psychology - receive change for gems. - [+] BUG: announceflagloss is never happening. - [+] new nature spell - absorb wood - [+] clank - robot, chomp to steal health, self destruct - [+] new tech - [+] l0 - [+] chewing gum (jam doors with it) - this should be food though. - [+] plants shoudl HELP druid from level 4 onwards - [+] clean up skill ability code - [+] automate skill descriptions based on skillwills "you gain the 'xxx' ability" - [+] auto-learn spells from initial spellbook, rather than having to read it manually - [+] finding rings of unholiness everywhere. - [+] because it's the only rare ring! - [+] fixed by making ALL rings be uncommon - [+] first time you slip on something, suggest using 's' - [+] sewing / metalwork: get resize and enhance earlier. - [+] bug with engineering seeing through one wall!s - [+] rogue/knifedancer / blademaster - throwing, extra skill with small blades. starts with extra knives. - [+] replace all SUBJOBS with plain regular JOBs - [+] fix "needobforstaff" for wizards! - [+] sewer should have mossy rock floor. slippery. - [+] new specialist classes: - [+] rogue/assassin (no stealing, no traps, lockpicking, better stealth+backstab, poison knives) - [+] minor healing spell is too powerful. should do 5-10hp max. - [+] reveal hidden is not powerful enough for l4. move to l2. - [+] reduce effects of stench as TR gets higher - [+] lumara should accept sacrifice of anything magic. - [+] oil lamp not making my viison longer! (on dlev11) - [+] just describe f_produceslight in io.c - [+] with no evasion skill, agi does way less for EV. - [+] fungus clouds should be in 1 radius, non orthogonal - [+] try putting monster zoo back in? - [+] STILL bugs detecting trapped doors ages away! - [+] detected one 8 away, perception novice! - [+] when a monster necromancer is made, i'm prompted for spell school!!! - [+] new mushroom: greycap. looks like a miniature snowy mountain. grants cold resistance - [+] shop opening hours - [+] F_OPENHOURS - [+] v0 = start (inclusive) - [+] v1 = end (inclusive) - [+] v2 = sayphrase - [+] SP_CLOSEDTILMORN (come back in the morning) - [+] SP_CLOSEDTILNIGHT (come back tonight) - [+] SP_CLOSEDTILHOUR (come back after x oclock!) - [+] make shops only be open during the day. - [+] make some temples only be open at night (eg. hecta)
2012-10-15 13:15:36 +11:00
a->volumemod = volumemod;
- [+] most monsters which covet food should have snatch - so that you can just drop food for them. - [+] when looking for remote obs, DO include adjacent cells with lfs, if we have the snatch ability. - [+] some long thin levels (80 x 12 ?) - [+] fix code to remove useless doors. - [+] 0 pairs of dirs with empty cells = change door to wall - [+] pick an adjacent empty cell - [+] floodfill the 8 cells around the door. - [+] start with adj cell - [+] can't go more than 1 cell away from door - [+] solid cells or doors will stop movement - [+] if no unfilled cells around the door, bad. - [+] new way of fixing unconnected levels - portal! - [+] pick one spot in each section then place a portal there. - [+] dying should cure poison - [+] tweaks to attack text - [+] floor tile effecst - [+] absorbancy - ie. carpet should absorb water. - [+] converyors - [+] only walkable sometime (crushers?) - [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus" - [+] god of nature should like eating animals all the time, not just when hungry (makes piety gain easier) - [+] announce when eyes are protected from a spellcloud - [+] klikirak should like setting off fire traps. - [+] floodfill() should follow portals to the same level. - [+] show >1 skillpoints in green on status bar - [+] bug: gods are apeparing behind you. - [+] bug in getrandomadjcell - [+] gods' planeshift spells failing? might be fixed now. using getrandomroomcell instead of getrandomcell. - [+] increaes damage dealt by smite evil/good - [+] lightning javelins shouldn't be stackable - [+] monsters not firing ranged weapons! - [+] they just walk back and forth - [+] bug with how i was calling haslof() for cells other than where the mosnter was (in getdiraway()) - [+] turn undead should only work if caster level*2 is >= monster level fullblock basics: - [+] penalties - [+] lowers visrange to 1 - [+] huge attack penalties - [+] huge evasion penalties - [+] vhigh chance of all ranged damage going to shield instead. - [+] buckler = 75 (small) - [+] shield = 80 - [+] large shield = 85 - [+] tower = 90 - [+] plus shield skill*2 - [+] use check_shield_block in all spell effects - [+] this checks whether player is shieldblocoking (or evades??) - [+] then applies damage appropriatly. - [+] new ability; - [+] stopped by: - [+] losing or unequipping the shield - [+] being interrupted - [+] casting a spell or using an ability - [+] exotic weapons should cost more. - [+] maybe prevent prayer until gods have been pleased enough ? - [+] while you're not worshipping anyone, piety gain is x4. - [+] once first one hits 'pleased', they will appear and offer you a place - [+] advantge to this is that you get a gift - [+] picking up new gold should please felix...... - [+] you shoudl only be able to sacrifice untouched gold. this pleases felix double as much as grabbing it. - [+] gods sohuld appear "in a cloud of ..." - [+] bjorn - blood - [+] klik - fire - [+] lumara - bright light
2012-11-09 22:50:52 +11:00
a->absorbent = absorbent;
2011-02-01 06:16:13 +11:00
a->flags = addflagpile(NULL, NULL);
return a;
}
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
int addcond(condset_t *cs, enum CELLCONDITION cond, int val, int arg) {
cs->cond[cs->nconds] = cond;
cs->arg[cs->nconds] = arg;
cs->val[cs->nconds] = val;
(cs->nconds)++;
return cs->nconds;
}
- [+] rename dragon to wyrm - [+] cooked food shouldn't "completely rot away" - [+] fire l6: meteor - large version of fireball - [+] burning feet - [+] evaporate should be a fire spell too. - [+] more gods should remove curse for you. - [+] eyebats shouldn't sleep - [+] make hecta's prayers even more powerful. - [+] fix bug in bjorn's truestrike effect - [+] bjorn should un-dull weapons - [+] fix buggy supply closet definitions - was getting 1-5 of same object rather than 1-5 different ones - [+] restrict potion of growth to lower levels. - [+] change method of determining how much you can carry. - [+] change initial modification spell to 'enlarge object' - [+] enlarge object - [+] door -> seals with surroundings - [+] rock -> boulder - [+] sword -> greatsword - [+] buckler -> next size shield - [+] bag -> next size bag - [+] or should this be a different spell? - [+] immolate - [+] if a successful unarmed attack, lf catches on fire. - [+] wizard isn't weilding staff. are fists better? - [+] freezing touch shouldn't work on dragonwood - [+] fix bug preventing vision when meditating - [+] auto shortcuts - [+] wizards: pri/sec spells are 1/2 - [+] cook: lowest shortcut left. - [+] statbar not being updated when i drink potion of magic. - [+] warn that flying will stop mapping. - [+] bjorn gifts should only be ones which you are skilled in! - [+] add 'appropriate' - [+] then apply to god.c - [+] warn if you pick up poison stuff and you god doesn't like it - [+] "I hope you're not planning on using that/those...." - [+] superheat - throw potion like a grenade
2012-01-30 09:47:43 +11:00
warning_t *addwarning(char *text, int lifetime) {
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
warning_t *a;
// add to the end of the list
if (firstwarning == NULL) {
firstwarning = malloc(sizeof(celltype_t));
a = firstwarning;
a->prev = NULL;
} else {
// go to end of list
a = lastwarning;
a->next = malloc(sizeof(warning_t));
a->next->prev = a;
a = a->next;
}
lastwarning = a;
a->next = NULL;
// set props
a->text = strdup(text);
- [+] rename dragon to wyrm - [+] cooked food shouldn't "completely rot away" - [+] fire l6: meteor - large version of fireball - [+] burning feet - [+] evaporate should be a fire spell too. - [+] more gods should remove curse for you. - [+] eyebats shouldn't sleep - [+] make hecta's prayers even more powerful. - [+] fix bug in bjorn's truestrike effect - [+] bjorn should un-dull weapons - [+] fix buggy supply closet definitions - was getting 1-5 of same object rather than 1-5 different ones - [+] restrict potion of growth to lower levels. - [+] change method of determining how much you can carry. - [+] change initial modification spell to 'enlarge object' - [+] enlarge object - [+] door -> seals with surroundings - [+] rock -> boulder - [+] sword -> greatsword - [+] buckler -> next size shield - [+] bag -> next size bag - [+] or should this be a different spell? - [+] immolate - [+] if a successful unarmed attack, lf catches on fire. - [+] wizard isn't weilding staff. are fists better? - [+] freezing touch shouldn't work on dragonwood - [+] fix bug preventing vision when meditating - [+] auto shortcuts - [+] wizards: pri/sec spells are 1/2 - [+] cook: lowest shortcut left. - [+] statbar not being updated when i drink potion of magic. - [+] warn that flying will stop mapping. - [+] bjorn gifts should only be ones which you are skilled in! - [+] add 'appropriate' - [+] then apply to god.c - [+] warn if you pick up poison stuff and you god doesn't like it - [+] "I hope you're not planning on using that/those...." - [+] superheat - throw potion like a grenade
2012-01-30 09:47:43 +11:00
a->lifetime = lifetime;
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
return a;
}
2011-03-04 12:22:36 +11:00
2011-02-01 06:16:13 +11:00
void checkdeath(void) {
lifeform_t *lf, *nextlf;
int x,y;
for (lf = player->cell->map->lf; lf ; lf = nextlf) {
nextlf = lf->next;
// check for object death
removedeadobs(lf->pack);
2011-02-01 06:16:13 +11:00
// check for death
if (lf->hp <= 0) {
- [+] fixed CRASH when energy blade vanishes - [+] gods of opposing alignments should never make offers. - [+] new armour flag: - [+] f_underclothing - [+] getequippedob() - get the outer one. - [+] if you have f_underclothing, can wear other armour on top of it. - [+] can't remove underclothes without removing outer first. - [+] TEST with cotton shirt - [+] make sure autoequip handles undercltohing - [+] fix other objects - [+] adjust ']' output - [+] make armour help against some magical damage too - [+] move armour check and reduction into losehpeffects(). - [+] pass damreducedbyarmour to losehpeffects - [+] psionic spells: - [+] dampen missiles - lots of extra evasion vs missiles only * [+] soul link (l4, share damage) - [+] mind sheidl (l4, like the amulet) - [+] delay death (l5, don't die if hp <= 0 and this spell is active) - [+] remote ko (l6) - [+] Silence spell / effect - air. - [+] f_silenced. - [+] announce in io.c - [+] prevents spellcasting - [+] prevents docomms() - [+] prevents reading scrolls - [+] prevents speech-based abilities like warcry and sonic bolt - [+] say() will fail - [+] sayphrase() wil fail - [+] test the spell....... - [+] CRASH when adjusting glyph on edge of map - [+] non-humanoids can't climb without climb skill. - [+] player sohuld be able to swap with unconscious/asleep lfs <= same size - [+] too easy to knock things unconscious??? bug. fixed. - [+] reusable cells being set to empty! think this was a vault definition problem. - [+] demon chameleon / deech - [+] low-level mosnter which can hide
2012-12-06 15:57:13 +11:00
if (hasactivespell(lf, OT_S_DELAYDEATH) && (lf->hp > -15)) {
} else {
// die!
if (die(lf)) {
// saved!
if (isstuckinwall(lf)) {
// move elsewhere
cell_t *newcell;
newcell = real_getrandomadjcell(lf->cell, &ccwalkable, B_ALLOWEXPAND, LOF_DONTNEED, NULL, lf);
if (newcell) {
movelf(lf, newcell, B_FALSE);
}
}
} else {
continue;
}
- [+] fixed CRASH when energy blade vanishes - [+] gods of opposing alignments should never make offers. - [+] new armour flag: - [+] f_underclothing - [+] getequippedob() - get the outer one. - [+] if you have f_underclothing, can wear other armour on top of it. - [+] can't remove underclothes without removing outer first. - [+] TEST with cotton shirt - [+] make sure autoequip handles undercltohing - [+] fix other objects - [+] adjust ']' output - [+] make armour help against some magical damage too - [+] move armour check and reduction into losehpeffects(). - [+] pass damreducedbyarmour to losehpeffects - [+] psionic spells: - [+] dampen missiles - lots of extra evasion vs missiles only * [+] soul link (l4, share damage) - [+] mind sheidl (l4, like the amulet) - [+] delay death (l5, don't die if hp <= 0 and this spell is active) - [+] remote ko (l6) - [+] Silence spell / effect - air. - [+] f_silenced. - [+] announce in io.c - [+] prevents spellcasting - [+] prevents docomms() - [+] prevents reading scrolls - [+] prevents speech-based abilities like warcry and sonic bolt - [+] say() will fail - [+] sayphrase() wil fail - [+] test the spell....... - [+] CRASH when adjusting glyph on edge of map - [+] non-humanoids can't climb without climb skill. - [+] player sohuld be able to swap with unconscious/asleep lfs <= same size - [+] too easy to knock things unconscious??? bug. fixed. - [+] reusable cells being set to empty! think this was a vault definition problem. - [+] demon chameleon / deech - [+] low-level mosnter which can hide
2012-12-06 15:57:13 +11:00
}
2011-02-01 06:16:13 +11:00
}
}
// check for object death on map
for (y = 0; y < player->cell->map->h; y++) {
for (x = 0; x < player->cell->map->w; x++) {
cell_t *c;
c = getcellat(player->cell->map, x, y);
if (c) {
removedeadobs(c->obpile);
}
}
}
2010-12-02 12:17:54 +11:00
}
2011-02-01 06:16:13 +11:00
2010-12-02 12:17:54 +11:00
void checkendgame(void) {
- [+] delvers should always want money for info, unless you are a delver too. - [+] mirror image (mental) - [+] varpower - [+] makes power 'clone' lfs who look the same as caster - [+] ie. same race. - [+] also same job/armour/weps? - [+] add f_noxp - [+] add f_nocorpse - [+] add f_summonedby so they vanish when the caster dies - [+] add f_phantasm - [+] vanish after _power_ hits, - [+] attacks do 0 damage - [+] don't announce innefectual attacks - [+] dont cast spells or use abilities - [+] petify() them if made by the player - [+] force them to stay close. - [+] in io.c or getlfname, show "[clone]" if it has f_phantasm and was created by player - [+] mosnters try to attack them. - [+] once one gets hit enough times, it disappears - [+] if the caster dies or changes level, they disappear. - [+] can't talk to them - [+] their obejcts vanish when they die - [+] don't talk - [+] make Yumi more about forgiving silly mistakes and avoiding instakills - [+] remove liking of healing - [+] remove like of healing spells - [+] takes a long time to anger. - [+] aviod traps (bamf you away before they trigger) - [+] prayers: - [+] resist stoning (pray while appropriate creatures around) - [+] resist paralysis (pray while appropriate creatures around) - [+] sleep on enemies - [+] passive powers: - [+] always warn as if wisdom is high (passive) - [+] always save when killed right after using stairs (passive) "well, that seemed unfair." - [+] gift: - [+] auto sixth sense - [+] potions of restoration - [+] ring of miracles - [+] shouldn't be able to Offer while enraged. - [+] don't lose stamina while caffeinated - [+] new vault: pit with walkway around it - [+] bug: when worshipping yumi you get "you kill xxx" but they're still alive - [+] ... but they're still alive! - [+] ... for yumi, move KO chance from losehp() to attacklf(). - [+] do the check BEFORE setting 'fatal' - [+] pass forceko to losehp_real - [+] bug: adjustdamhardness should only trigger when ismeleedam() is true, not isphysicaldam() - [+] greatly reduce motel cost - [+] change order in attack.c: apply damage THEN announce, to deal with KO - [+] do it. - [+] test KO code. - [+] then check that feign death still works - [+] demonskin vest should be flammable or vulnerable to fire. - [+] time to get up should depend on size. - [+] less than human: shortnone - [+] human: normal - [+] larger than human: longer - [+] expert unarmed now gives you 'flip' - [+] reduce damage done by low-level monsters - [+] change resoration into a spell - [+] implement - [+] test - [+] new spell: ressurection - [+] corpses need to remember their lf's level - [+] test - [+] godstone of life - revives/restores all - [+] rename "confiscate" to "yoink", and make it take a random object at power 1, selected at power 2 - [+] gods should attack player if they are Enraged or Furious - [+] is STR calc to see if you can push a boulder still working? - [+] change to wizards: - [+] start at novice in all magic skills (but don't gain initial spells) - [+] killing undead should please glorana LOTS. because it's hard to gain piety with her otherwise. - [+] restoration spells/potion should hurt undead - [+] healing spells/potions should hurt undead - [+] immolate shouldnt work if there is aleady a fire tehre. CODE FOR WINNING THE GAME: - [+] get at least one godstone - [+] exit the dungeon - [+] find the portal to the realm of gods - [+] opposing god should appear once you pick up a godstone, and tell you what to do next. - [+] "come to the realm of gods and use it to destroy (related god)" - [+] "or if you lack the courage, give it to me!" - [+] "you will find a portal on the surface" - [+] use the portal to teleport to realm of gods - [+] implement text for all gods... - [+] god text in wt_god - should say 'but you werent meant to replace them!' - [+] EITHER: - [+] challenge and defeat the god related to this godstone (more points. "Crowned the god of xxx.") - [+] TEST - [+] offer the godstone to the godstone's opposing god (less points, "Ascended to demigod-hood.") - [+] implement - [+] TEST GODSTONES: - [+] klikirak: rage - [+] done - [+] (make this one have fire effects too) - [+] glorana: life - [+] Felix shouldn't be able to yoink the godstone off you! - [+] Write up the rest of the Godstone finding text..... - [+] magic - [+] battle - [+] life - [+] mercy - [+] you can't hurt gods unless you - [+] a) have their godstone - [+] b) are in the realm of gods
2012-02-17 16:16:45 +11:00
flag_t *f;
2010-12-02 12:17:54 +11:00
if (!player->alive) {
gamemode = GM_GAMEOVER;
2010-12-02 12:17:54 +11:00
gameover = B_TRUE;
- [+] delvers should always want money for info, unless you are a delver too. - [+] mirror image (mental) - [+] varpower - [+] makes power 'clone' lfs who look the same as caster - [+] ie. same race. - [+] also same job/armour/weps? - [+] add f_noxp - [+] add f_nocorpse - [+] add f_summonedby so they vanish when the caster dies - [+] add f_phantasm - [+] vanish after _power_ hits, - [+] attacks do 0 damage - [+] don't announce innefectual attacks - [+] dont cast spells or use abilities - [+] petify() them if made by the player - [+] force them to stay close. - [+] in io.c or getlfname, show "[clone]" if it has f_phantasm and was created by player - [+] mosnters try to attack them. - [+] once one gets hit enough times, it disappears - [+] if the caster dies or changes level, they disappear. - [+] can't talk to them - [+] their obejcts vanish when they die - [+] don't talk - [+] make Yumi more about forgiving silly mistakes and avoiding instakills - [+] remove liking of healing - [+] remove like of healing spells - [+] takes a long time to anger. - [+] aviod traps (bamf you away before they trigger) - [+] prayers: - [+] resist stoning (pray while appropriate creatures around) - [+] resist paralysis (pray while appropriate creatures around) - [+] sleep on enemies - [+] passive powers: - [+] always warn as if wisdom is high (passive) - [+] always save when killed right after using stairs (passive) "well, that seemed unfair." - [+] gift: - [+] auto sixth sense - [+] potions of restoration - [+] ring of miracles - [+] shouldn't be able to Offer while enraged. - [+] don't lose stamina while caffeinated - [+] new vault: pit with walkway around it - [+] bug: when worshipping yumi you get "you kill xxx" but they're still alive - [+] ... but they're still alive! - [+] ... for yumi, move KO chance from losehp() to attacklf(). - [+] do the check BEFORE setting 'fatal' - [+] pass forceko to losehp_real - [+] bug: adjustdamhardness should only trigger when ismeleedam() is true, not isphysicaldam() - [+] greatly reduce motel cost - [+] change order in attack.c: apply damage THEN announce, to deal with KO - [+] do it. - [+] test KO code. - [+] then check that feign death still works - [+] demonskin vest should be flammable or vulnerable to fire. - [+] time to get up should depend on size. - [+] less than human: shortnone - [+] human: normal - [+] larger than human: longer - [+] expert unarmed now gives you 'flip' - [+] reduce damage done by low-level monsters - [+] change resoration into a spell - [+] implement - [+] test - [+] new spell: ressurection - [+] corpses need to remember their lf's level - [+] test - [+] godstone of life - revives/restores all - [+] rename "confiscate" to "yoink", and make it take a random object at power 1, selected at power 2 - [+] gods should attack player if they are Enraged or Furious - [+] is STR calc to see if you can push a boulder still working? - [+] change to wizards: - [+] start at novice in all magic skills (but don't gain initial spells) - [+] killing undead should please glorana LOTS. because it's hard to gain piety with her otherwise. - [+] restoration spells/potion should hurt undead - [+] healing spells/potions should hurt undead - [+] immolate shouldnt work if there is aleady a fire tehre. CODE FOR WINNING THE GAME: - [+] get at least one godstone - [+] exit the dungeon - [+] find the portal to the realm of gods - [+] opposing god should appear once you pick up a godstone, and tell you what to do next. - [+] "come to the realm of gods and use it to destroy (related god)" - [+] "or if you lack the courage, give it to me!" - [+] "you will find a portal on the surface" - [+] use the portal to teleport to realm of gods - [+] implement text for all gods... - [+] god text in wt_god - should say 'but you werent meant to replace them!' - [+] EITHER: - [+] challenge and defeat the god related to this godstone (more points. "Crowned the god of xxx.") - [+] TEST - [+] offer the godstone to the godstone's opposing god (less points, "Ascended to demigod-hood.") - [+] implement - [+] TEST GODSTONES: - [+] klikirak: rage - [+] done - [+] (make this one have fire effects too) - [+] glorana: life - [+] Felix shouldn't be able to yoink the godstone off you! - [+] Write up the rest of the Godstone finding text..... - [+] magic - [+] battle - [+] life - [+] mercy - [+] you can't hurt gods unless you - [+] a) have their godstone - [+] b) are in the realm of gods
2012-02-17 16:16:45 +11:00
} else if ((f = lfhasflag(player, F_WINNER)) != NULL) {
gamemode = GM_GAMEOVER;
gameover = B_TRUE;
wintype = f->val[0];
2010-12-02 12:17:54 +11:00
}
}
void cleanup(void) {
int i;
- [+] CRASH in killflag() - [+] symptoms - [+] often happens right after creating a new map (ie. trigger it through a gate spell) - [+] bug in createriver(). fixed. - [+] somehow casting GATE is causing object flagpiles on the PLAYER's map to become corrupted. - [+] "the young hawk wakes up" CRASH, flagpile corrupt on stone. - [+] object itself seems okay. - [+] o->flags is becoming corrupt!!! - [+] so all its flags are becoming corrupt (id = massive number, next = fffff) - [+] traceback: - [+] #0 0x0000000100081188 in killflag (f=0x103321090) at flag.c:815 #1 0x0000000100081b3a in timeeffectsflag (f=0x103321090, howlong=1) at flag.c:1075 #2 0x00000001000825f8 in timeeffectsflags (fp=0x1038e0600) at flag.c:1302 #3 0x0000000100129b01 in timeeffectsob (o=0x1036e2460) at objects.c:11877 #4 0x0000000100005114 in timeeffectsworld (map=0x102aa1a00, updategametime=-1) at nexus.c:1685 #5 0x0000000100003a28 in donextturn (map=0x102aa1a00) at nexus.c:952 #6 0x00000001000029b1 in main (argc=1, argv=0x7fff5fbff848) at nexus.c:525 - [+] try this: in timeeffectsflags on objects, check PREVIOUS object's flagpile. - [+] try this: add checkflagS() after updatefpindex - [+] NOT happening during timeeffectsob(). - [+] compile with optimisation................. - [+] hapepning in createmap. but objects on the PLAYER's map are being corrupted, not the new one. - [+] happening in addrandomthing() - [+] happening in addmonster(). - [+] lf = addmonster(c, R_RANDOM, NULL, B_TRUE, 1, B_TRUE, nadded); - [+] (glowbug was created) - [+] happening in addlf() - [+] glowbug again!! to do with light recalc ?? - [+] happening in setrace() - [+] happening while inheriting F_AWARENESS. have double checked to confirm this! - [+] in HASLOS????!! - [+] addflag->flagcausesloscalc, so haslos for all on the map. problem happens when we call haslos() for the lf getting F_AWARENESS added. - [+] is the problem that doing a los recalc breaks when we are still missing half our racial flags ? - [+] QUICK FIX: - [+] dont recalc los for any lf where born = 0. just set nlos to 0 - [+] and manually recalc los just before returning from addlf - [+] put sawgrsaas back to being common, not frequent - [+] is this finally fixed now? i think so!! - [+] if so, remove calls to "checkallflags" and most calls to checkflags() - [+] remove agility bonuses for weapon acc. now comes just from skill and from agi scaling on weapons. - [+] maybe difference in hit dice is a bad way to determine shieldblock difficulty. - [+] ...because the player rapidly gets higher than all other monsters on their dungeonlev. - [+] maybe just use monster's hitdice, ignore players. - [+] bug: abilities costing no stamina? - [+] in addmap, i am not initialising enough nextmap[]s - [+] flag.c bug: don't need to set player->losdirty when recalcing light on a different map - [+] lfs with F_DOESNTMOVE weren't attacking - [+] manuals are starting off known. why?? - [+] they don't appear in knowledge, so don't appear to have a hiddenname at all. - [+] make magical barriers block view. - [+] when describing armour / shield penalty, say - [+] "will lower your accuracy by 1" - [+] instead of - [+] "will lower your accuracy by 5%" - [+] make firstaid skill incrase your hp per level - [+] high agility seems to be giving a MASSIVE accuracy increase when higher than weapon's stat. - [+] maybe remove or reduce AGI acc bonuses. - [+] sack started off containing a FOOD VENDOR!@# - [+] size check obviously isn't working. - [+] need "obfits" in givestartobs!! - [+] hitting ESC when firing with F doesn't cancel.f - [+] hunter should start with fur cloak - [+] spellbooks are too cheap ($12) - [+] remove'p' for lockpick- just operate the lockpickobject. - [+] removed, - [+] ...but now tha tI've removed 'p' for picklocks, can i still use 'o' on a dagger or similar? - [+] NO - [+] maybe turn "pick lock" into a still - [+] how do you gain this? level 1 lockpicking - [+] then make lockpicks etc non-operable - [+] fix crash when drunk lfs take damage - [+] sleeping powder costs nothing - [+] memleaks??? 700mb usage!! - [+] valgrind - [+] found a memleak problem: definitely lost: 10,719,039 bytes in 11,420 blocks - [+] not killing flags when we kill an object!!!!! fixed now. - [+] memory usage is now ticking up heaps more slowly. - [+] investigate further with valgrind again..... - [+] when summoning, prefer cells for which the player has los. - [+] make jammed doors harder to open. - [+] no forcing a door open on your first go. should be: - [+] the door is jammed! - [+] you force it open. - [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
gamemode = GM_CLEANUP;
* [+] 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
free(xpposs);
free(raceposs);
if (logfile) fclose(logfile);
- [+] prevent ALL overlapping rooms! - [+] stop running for any non-cosmetic object. - [ ] echoing? - [+] OPTIONS - [+] option_t - [+] id - [+] letter - [+] text - [+] int enabled - [+] int default - [+] next/prev - [+] addoption() - [+] getoption() - [+] dooptions() - [+] list them all (with 'more' for multipages) - [+] pressing a letter toggles it. - [+] "display trails" - [+] make scents be "cosmetic"! - [+] increaes skeleton's vulnerability to falling - [+] missing announcement for bleed() - [+] let rapid ivy cast entangle - [+] caves - [+] new regiontype - [+] new link - [+] new habitat - [+] objectlass rarities - [+] assign obs/mons to habitat - [+] code to dig caves - [+] stairs linking to cave region - [+] when learning random skills: - [+] prefer lower-level skills - [+] onyl learn up to adept level - [+] animate dead crashes if there is no space to place the lifeform! - [+] increase range of charge ability - [+] when you gain techusage, check held objects for conferred flags. - [+] bug: motion scanner working even though i have no tech usage! - [+] warn player before climbing without climb skill (if wisdom is >= average) - [+] regions should have depthmod. - [+] regionthings should be based on DEPTH, not difficulty! - [+] rename firstdungeon to maindungeon - [+] announcearrival broken -always saying 'new area' - [+] don't use ranged attacks when feigning death if target is adjacent - [+] don't say 'argh' if you were beheaded. - [+] The bear cub bites a wooden door with a teeth.--More-- - [+] random levelup skills - only select from skills which we have used? - [+] need to chance f_hasskill to use f->val[2] = used_this_level - [+] when you gain a skill, set f>val[2] = b_false or NA - [+] add setskillused for all skills! - [+] make random levleup only pick from used skills. - [+] TEST - [+] knowledge skills - practice them when you see a new lf of this type. - [+] slithering shoudl hardly ever awaken you - make listen check harder. - [+] don't put fireplaces in corridors. F_ONLYINROOM ? - [+] bug: acid trails from slug disappearing or never appearing? - [+] snails/slugs - [+] killed by salt - [+] vslow - [+] snails have vhigh armourrating - [+] slugs have lots of hp and do more damage - [+] brown/grey 'j' ? - [+] leave slime/acid trails?
2012-01-03 12:21:22 +11:00
// free commands & options
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
while (firstcommand) killcommand(firstcommand);
- [+] prevent ALL overlapping rooms! - [+] stop running for any non-cosmetic object. - [ ] echoing? - [+] OPTIONS - [+] option_t - [+] id - [+] letter - [+] text - [+] int enabled - [+] int default - [+] next/prev - [+] addoption() - [+] getoption() - [+] dooptions() - [+] list them all (with 'more' for multipages) - [+] pressing a letter toggles it. - [+] "display trails" - [+] make scents be "cosmetic"! - [+] increaes skeleton's vulnerability to falling - [+] missing announcement for bleed() - [+] let rapid ivy cast entangle - [+] caves - [+] new regiontype - [+] new link - [+] new habitat - [+] objectlass rarities - [+] assign obs/mons to habitat - [+] code to dig caves - [+] stairs linking to cave region - [+] when learning random skills: - [+] prefer lower-level skills - [+] onyl learn up to adept level - [+] animate dead crashes if there is no space to place the lifeform! - [+] increase range of charge ability - [+] when you gain techusage, check held objects for conferred flags. - [+] bug: motion scanner working even though i have no tech usage! - [+] warn player before climbing without climb skill (if wisdom is >= average) - [+] regions should have depthmod. - [+] regionthings should be based on DEPTH, not difficulty! - [+] rename firstdungeon to maindungeon - [+] announcearrival broken -always saying 'new area' - [+] don't use ranged attacks when feigning death if target is adjacent - [+] don't say 'argh' if you were beheaded. - [+] The bear cub bites a wooden door with a teeth.--More-- - [+] random levelup skills - only select from skills which we have used? - [+] need to chance f_hasskill to use f->val[2] = used_this_level - [+] when you gain a skill, set f>val[2] = b_false or NA - [+] add setskillused for all skills! - [+] make random levleup only pick from used skills. - [+] TEST - [+] knowledge skills - practice them when you see a new lf of this type. - [+] slithering shoudl hardly ever awaken you - make listen check harder. - [+] don't put fireplaces in corridors. F_ONLYINROOM ? - [+] bug: acid trails from slug disappearing or never appearing? - [+] snails/slugs - [+] killed by salt - [+] vslow - [+] snails have vhigh armourrating - [+] slugs have lots of hp and do more damage - [+] brown/grey 'j' ? - [+] leave slime/acid trails?
2012-01-03 12:21:22 +11:00
while (firstoption) killoption(firstoption);
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
// free maps (this will kill its lifeforms & obs & cells too)
while (firstmap) killmap(firstmap);
// free branches
while (firstbranch) killbranch(firstbranch);
// free knowledge
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
while (knowledge) killknowledge(knowledge);
2011-03-10 16:47:18 +11:00
// free brands
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
while (firstbrand) killbrand(firstbrand);
// free obmods
while (firstobmod) killobmod(firstobmod);
// free obtypes
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
while (objecttype) killot(objecttype);
// free obclasses
while (objectclass) killoc(objectclass);
// free materials
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
while (material) killmaterial(material);
// free races
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
while (firstrace) killrace(firstrace);
// free posiontypes
while (firstpoisontype) killpoisontype(firstpoisontype);
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
// free celltypes
while (firstcelltype) killcelltype(firstcelltype);
// free npcname strings
for (i = 0; i < numnpcnames; i++) {
free(npcname[i].name);
}
// free npcname structures
- [+] high metalwork/sewing lets you make things into masterwork (combine two). - [+] get dizzy if you turn too much. - [+] stomach - [+] obejcts - gems etc (check phone) - [+] if you kill it form inside, you get expelled. - [+] don't say "you hear fighting" when things are attacking you! - [+] fix crash in polymorph code - [+] All bandits should demand gold - [+] when you give it to them, thel ALL get satisfied. - [+] more flagpile corruption still happening. - [+] wasn't allcoating enough space for losdark in precalclos. - [+] still missing death announcement for plauyer pets - [+] reduce #attacks for young hawk to 1 - [+] mercy - [+] say this to intelligent mosnters then pass a speech check - [+] if you pass: - [+] they say something - [+] they ko you - [+] monstesr shouldn'ts randomly move into unconscious/dead lfs - [+] monsters should take wanted obs from adjacent unconscious lfs - [+] when you wake up: "some/all of your items are missing..." - [+] at beginner weapon skill level: exposed strike - takes longer but higher accuracy? - [+] impaler frog - [+] sinkmite - [+] drills for hands - [+] canwill Ot_s_dig - [+] targetting: - [+] fleeing: downwards - [+] can drill downwards to flee - [+] can dig through walls - [+] necrons: - [+] trapper - blue - [+] reaper - red - [+] scythe - [+] hurricane strike - [+] bug: necron reaper is not preffering its weapon for attacks.... why? - [+] check attackcell() - [+] fix colour in retaliation text - [+] need to announce hurricane strike ability - [+] amnesia scroll - lose all skill points! - Hecta effects - [+] flay flesh (bleed depending on hitdice) - [+] hecta's servent (skeletal hand rises, cannot move, grabs adjacent lfs, drags underground)
2011-12-20 19:03:15 +11:00
free(npcname);
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
// free hidden names
while (firsthiddenname) killhiddenname(firsthiddenname);
// behaviours
while (firstbehaviour) killbehaviour(firstbehaviour);
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
//WriteMemLeak();
cleanupgfx();
2010-12-02 12:17:54 +11:00
}
- [+] don't trigger ANY god effects while raging. - [+] when wishing for "power", don't give tech that you can't use. - [+] INFINITE LOOP in timeeffectslf(). - [+] happens when an lf is prone and falls down a hole. - [+] pass search check on natural 20! - [+] undead weapons are normally cursed - [+] walking into a wall now takes time, but can detect secret doors - [+] tiled floors also multiply the effects of slippery objects - [+] wand of dispersal - getting "no lof" - [+] make time debugging for all lfs be an option. - [+] when set, dump the following for each lf: - [+] time (millisecnds) taken for their turn - [+] whether player can see them or not - [+] # screen redraws during their turn - [+] skillchecks - [+] shield check.... - [+] Human checkmod (type Shieldblock): 19(attr)+1(lvm)+0(othmod),totroll=71--More-- - [+] Human: Shieldblock check, rolled 71, need >= 95. (fail) [you takes 1 dam]--More - [+] wondering monsters - they turn up on levels when you go back to them. (but never near the stairs) - [+] only if you haven't been there for a while (50 turns or so?) - [+] (depth*5)% chance for each room without stairs - [+] dark elf - Vell - [+] consumesouls - [+] +int - [+] novice necromancy - [+] metal vuln - [+] don't start player with obects which they are vulnerable to!! - [+] matvuln should hurt you if you touch something made of it! - [+] wands should be made of dragonwood, not metal - [+] diferent kinds of matvuln - - [+] you get hurt more by it - [+] you can't even touch it - [+] use v2 to determine.
2012-07-30 12:35:02 +10:00
void dbtimestartlf(lifeform_t *lf) {
char buf[BUFLEN];
snprintf(buf, BUFLEN, "%s (id %d), seenbyplayer = %s",lf->race->name, lf->id, cansee(player, lf) ? "YES" : "NO");
dbtimestart(buf);
}
void dbtimeendlf(lifeform_t *lf) {
char buf[BUFLEN];
snprintf(buf, BUFLEN, "%s (id %d), numdraws=%d",lf->race->name, lf->id, numdraws);
dbtimeend(buf);
}
void dbtimestart(char *format, ...) {
char buf[BUFLEN];
va_list args;
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
gettimeofday(&tv, NULL);
starttv = tv;
va_start(args, format);
vsnprintf( buf, BUFLEN, format, args );
va_end(args);
dblog("START\t%s", buf);
Monster AI improvements: - [+] replace f_target with f_targetlf - [+] wantrange. for melee fighters (default), it's 0. for spells/archers, it's higiher. - [+] if we are further away than bestrange, move towards. - [+] if we are closer than bestrange, move away - [+] AND: move to wantrange before doing spells etc - [+] if we have a ranged attack and wantrange is default, increase it. - [+] in movetowards/away, cells in the wrong dir should NEVER be acceptable! * [+] mflag_push for monsters http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst er-ai-part-three.html - [+] randomly use ranged attacks when adjacent * [+] show trail in askcoords - [+] when throwing, pass range to askcoords - [+] max monsters per room is depth + 1 * [+] why do humans take ages to appear? - [+] fireball spell is slow - [+] why can i throw objects through magic barriers? - [+] add a bonus for mastery of cartography - magic mapping every 50 turns. - [+] crash with monsters moving off edge of world map - [+] make magic barriers be ON stairs, not around them. - [+] handle DIAGONAL entry to maps - [+] OR make this impossible. - [+] druid should get auto nature knoeldge as they levle up (levs 5 10 15). - [+] CRASH flagpile corrupt - [+] happening during AI movement. - [+] make lightning storm only hit enemies - [+] store last known movement dir in TARGETLF and PETOF. - [+] limit monsters per room not working?!?! - [+] make askcoords let you show object piles with . - [+] make askcoords say "A magical barrier (+xx other objects)" - [+] combine getlastknownmovedir into getlastknowncell * [+] BUG: secret doors are showing up as . again! * [+] implement trails (footprints & scent) * [+] aimovetowardslf(lf, wantattack) * [+] make pets use wantdist code? - [+] what does expert/master tracking give you? - [+] ex: your tracks don't last as long - [+] ms: you don't leave tracks. - [+] change f_reducemovement from multiplier to addition - [+] comma still showing up scents and footprints incorrectly!!!!!!!! Initial shallow/deep water: - [+] restrict movement - [+] check for drowning in turneffectslf AND movelf - [+] warn before walking onto dangerous objects. - [+] change how walkdam works for deepwater. - [+] don't use walkdam flags. - [+] don't make splashes of water on top of deepwater. * [+] deep water will drown you if - [+] don't leave footprints in either - [+] create steam on fire damage, but don't CONVERT to it. - [+] f_waterbreathing - [+] can't drown in water - [+] extra damage from cold/elec if in deep/shallow water Initial swimming implementation * [+] sacred/cursed ground - [+] vending machine - [+] don't transfer f_rarity flag when making objects / lifeforms. Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
}
void dbtime(char *format, ...) {
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
double ticks;
char buf[BUFLEN];
va_list args;
va_start(args, format);
vsnprintf( buf, BUFLEN, format, args );
va_end(args);
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
gettimeofday(&newtv, NULL);
ticks = ((newtv.tv_sec - tv.tv_sec) * 1000000) + (newtv.tv_usec - tv.tv_usec);
dblog("+%f\t%s", ticks, buf);
Monster AI improvements: - [+] replace f_target with f_targetlf - [+] wantrange. for melee fighters (default), it's 0. for spells/archers, it's higiher. - [+] if we are further away than bestrange, move towards. - [+] if we are closer than bestrange, move away - [+] AND: move to wantrange before doing spells etc - [+] if we have a ranged attack and wantrange is default, increase it. - [+] in movetowards/away, cells in the wrong dir should NEVER be acceptable! * [+] mflag_push for monsters http://roguelikedeveloper.blogspot.com/2007/10/unangband-monst er-ai-part-three.html - [+] randomly use ranged attacks when adjacent * [+] show trail in askcoords - [+] when throwing, pass range to askcoords - [+] max monsters per room is depth + 1 * [+] why do humans take ages to appear? - [+] fireball spell is slow - [+] why can i throw objects through magic barriers? - [+] add a bonus for mastery of cartography - magic mapping every 50 turns. - [+] crash with monsters moving off edge of world map - [+] make magic barriers be ON stairs, not around them. - [+] handle DIAGONAL entry to maps - [+] OR make this impossible. - [+] druid should get auto nature knoeldge as they levle up (levs 5 10 15). - [+] CRASH flagpile corrupt - [+] happening during AI movement. - [+] make lightning storm only hit enemies - [+] store last known movement dir in TARGETLF and PETOF. - [+] limit monsters per room not working?!?! - [+] make askcoords let you show object piles with . - [+] make askcoords say "A magical barrier (+xx other objects)" - [+] combine getlastknownmovedir into getlastknowncell * [+] BUG: secret doors are showing up as . again! * [+] implement trails (footprints & scent) * [+] aimovetowardslf(lf, wantattack) * [+] make pets use wantdist code? - [+] what does expert/master tracking give you? - [+] ex: your tracks don't last as long - [+] ms: you don't leave tracks. - [+] change f_reducemovement from multiplier to addition - [+] comma still showing up scents and footprints incorrectly!!!!!!!! Initial shallow/deep water: - [+] restrict movement - [+] check for drowning in turneffectslf AND movelf - [+] warn before walking onto dangerous objects. - [+] change how walkdam works for deepwater. - [+] don't use walkdam flags. - [+] don't make splashes of water on top of deepwater. * [+] deep water will drown you if - [+] don't leave footprints in either - [+] create steam on fire damage, but don't CONVERT to it. - [+] f_waterbreathing - [+] can't drown in water - [+] extra damage from cold/elec if in deep/shallow water Initial swimming implementation * [+] sacred/cursed ground - [+] vending machine - [+] don't transfer f_rarity flag when making objects / lifeforms. Initial work on adding a goal to the game!
2011-05-25 12:12:00 +10:00
tv = newtv;
}
void dbtimeend(char *format, ...) {
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
double ticks;
char buf[BUFLEN];
va_list args;
va_start(args, format);
vsnprintf( buf, BUFLEN, format, args );
va_end(args);
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
gettimeofday(&newtv, NULL);
ticks = ((newtv.tv_sec - starttv.tv_sec) * 1000000) + (newtv.tv_usec - starttv.tv_usec);
dblog("FINISHED %s (total time %f)", buf, ticks);
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
}
* [+] 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
void dobresnham(int d, int xinc1, int yinc1, int dinc1, int xinc2, int yinc2, int dinc2, int *xinc, int *yinc, int *dinc) {
if (d < 0) {
*xinc = xinc1;
*yinc = yinc1;
*dinc = dinc1;
} else {
*xinc = xinc2;
*yinc = yinc2;
*dinc = dinc2;
}
}
2010-12-02 12:17:54 +11:00
2011-02-01 06:16:13 +11:00
void donextturn(map_t *map) {
lifeform_t *who,*l;
int db = 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
map_t *oldpmap;
oldpmap = player->cell->map;
2011-02-01 06:16:13 +11:00
who = map->lf;
if (who) {
if (db) dblog("**** donextturn for: id %d %s", who->id, who->race->name);
//checkflagpile(who->flags);
if (who->timespent > 0) {
// shuffling lf times...
shuffledown(map);
}
assert(who->timespent == 0);
- [+] don't trigger ANY god effects while raging. - [+] when wishing for "power", don't give tech that you can't use. - [+] INFINITE LOOP in timeeffectslf(). - [+] happens when an lf is prone and falls down a hole. - [+] pass search check on natural 20! - [+] undead weapons are normally cursed - [+] walking into a wall now takes time, but can detect secret doors - [+] tiled floors also multiply the effects of slippery objects - [+] wand of dispersal - getting "no lof" - [+] make time debugging for all lfs be an option. - [+] when set, dump the following for each lf: - [+] time (millisecnds) taken for their turn - [+] whether player can see them or not - [+] # screen redraws during their turn - [+] skillchecks - [+] shield check.... - [+] Human checkmod (type Shieldblock): 19(attr)+1(lvm)+0(othmod),totroll=71--More-- - [+] Human: Shieldblock check, rolled 71, need >= 95. (fail) [you takes 1 dam]--More - [+] wondering monsters - they turn up on levels when you go back to them. (but never near the stairs) - [+] only if you haven't been there for a while (50 turns or so?) - [+] (depth*5)% chance for each room without stairs - [+] dark elf - Vell - [+] consumesouls - [+] +int - [+] novice necromancy - [+] metal vuln - [+] don't start player with obects which they are vulnerable to!! - [+] matvuln should hurt you if you touch something made of it! - [+] wands should be made of dragonwood, not metal - [+] diferent kinds of matvuln - - [+] you get hurt more by it - [+] you can't even touch it - [+] use v2 to determine.
2012-07-30 12:35:02 +10:00
if (getoption(OPT_TIMEDEBUG)) {
dbtimestartlf(who);
}
2011-02-01 06:16:13 +11:00
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
startlfturn(who);
2011-02-01 06:16:13 +11:00
// calculate light
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
//calclight(map);
// pre-calculate line of sight for this lifeform
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
//precalclos(who);
// cope with eyesight adjusting to the dark
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
//do_eyesight_adjust(who);
2010-12-02 12:17:54 +11:00
// update gun targets
autotarget(who);
2011-02-01 06:16:13 +11:00
// keep looping until they actually do something or are dead!
while (who->timespent == 0) {
if (isdead(who)) {
// skip turn
taketime(who, SPEED_DEAD);
} else {
// do we need to run away from something?
if (!flee(who)) {
int donormalmove = B_TRUE;
- [+] press ] then \ - CRASH. - [+] if sound is behind walls: - [+] you hear a muffled explosion - [+] int canhear() needs one more optional argument: &numwallspassed - [+] if supplied, fill it in. - [+] in noise(), check numwallspassed. if there were any, then say 'muffled'. or maybe if more than 2? play around with this. - [+] listen skill should also give more info about NON monster sounds - [+] ie. direction, distance. - [+] set user->changinglev when CHECKING stairs in the same way as when we use them. - [+] monk abil - iron fist - use all remaining stamina as damage + knockback * [+] HITCONFER - this should only work if you were attacked through a BITE or CLAW etc. - [+] bug... werewolves etc not attacking properly after shapehifting - [+] some tech/tools should be usable with hands (ie. watch). f_operwithouthands - [+] werewolves sohuld keep f_hitconfer after shapeshifting - [+] done - [+] summoned creatures from ai should never attack their masters!!! - [+] only the PLAYER can be infected by a werewolf? or only HUMANS ? - [+] when a werewolf changes to animal form, no longer hide true race as 'human' - [+] lycanthropy? - [+] how to get it: - [+] drink were-xxx blood (->potion of lycanthropy, never appears randomly) - [+] bitten by a lycanthrope (chance) with hitconfer and fail a con check - [+] change f_lycanthrope so text = racename. - [+] effects when you get it: - [+] right away, add diseased with lycanthropy. incubatino infinite ? - [+] if you are incubating lycanthropy, you always change at the full moon (and get rage, and lose control). - [+] at this point, complete the incubation and... - [+] add f_hatesall - [+] lose control for a while - [+] after you change back the first time, you can change at will. (but there is a risk each time of losing control) - [+] player regains control - [+] remove aicontrolled, hatesall, rage - [+] actually add f_lycanthrope, text=xxx, v0=4 - [+] when f_lycanthrope v0 drops to 0 or less... - [+] canwill shapeshift with race:xxx - [+] how to remove it - [+] remove curse scroll - [+] drink holy water - [+] these will: - [+] cure any incubating curse - [+] cure any f_poisoned curse - [+] cure lycanthropy, and any flags FROMLYCANTHROPY - [+] other effect - [+] wont/cant walk into holy circle? - [+] holy circle hurts you - [+] shouldn't be able to get critical hits on you (ie. injuries) if you ahve heavenly armour - [+] bug in f_poisoned text. i think i've fixed this now. Died on level 2 of the dungeon. Killed by venom poisoning from 5-10 - [+] donated objects count towards xp! - [+] -50% of value if not known. - [+] -25% of value if not id'd - [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
flag_t *f = NULL,*lyflag = NULL;
// lycanthrope in human form at midnight?
if (gettimephase() == TP_MIDNIGHT) {
- [+] press ] then \ - CRASH. - [+] if sound is behind walls: - [+] you hear a muffled explosion - [+] int canhear() needs one more optional argument: &numwallspassed - [+] if supplied, fill it in. - [+] in noise(), check numwallspassed. if there were any, then say 'muffled'. or maybe if more than 2? play around with this. - [+] listen skill should also give more info about NON monster sounds - [+] ie. direction, distance. - [+] set user->changinglev when CHECKING stairs in the same way as when we use them. - [+] monk abil - iron fist - use all remaining stamina as damage + knockback * [+] HITCONFER - this should only work if you were attacked through a BITE or CLAW etc. - [+] bug... werewolves etc not attacking properly after shapehifting - [+] some tech/tools should be usable with hands (ie. watch). f_operwithouthands - [+] werewolves sohuld keep f_hitconfer after shapeshifting - [+] done - [+] summoned creatures from ai should never attack their masters!!! - [+] only the PLAYER can be infected by a werewolf? or only HUMANS ? - [+] when a werewolf changes to animal form, no longer hide true race as 'human' - [+] lycanthropy? - [+] how to get it: - [+] drink were-xxx blood (->potion of lycanthropy, never appears randomly) - [+] bitten by a lycanthrope (chance) with hitconfer and fail a con check - [+] change f_lycanthrope so text = racename. - [+] effects when you get it: - [+] right away, add diseased with lycanthropy. incubatino infinite ? - [+] if you are incubating lycanthropy, you always change at the full moon (and get rage, and lose control). - [+] at this point, complete the incubation and... - [+] add f_hatesall - [+] lose control for a while - [+] after you change back the first time, you can change at will. (but there is a risk each time of losing control) - [+] player regains control - [+] remove aicontrolled, hatesall, rage - [+] actually add f_lycanthrope, text=xxx, v0=4 - [+] when f_lycanthrope v0 drops to 0 or less... - [+] canwill shapeshift with race:xxx - [+] how to remove it - [+] remove curse scroll - [+] drink holy water - [+] these will: - [+] cure any incubating curse - [+] cure any f_poisoned curse - [+] cure lycanthropy, and any flags FROMLYCANTHROPY - [+] other effect - [+] wont/cant walk into holy circle? - [+] holy circle hurts you - [+] shouldn't be able to get critical hits on you (ie. injuries) if you ahve heavenly armour - [+] bug in f_poisoned text. i think i've fixed this now. Died on level 2 of the dungeon. Killed by venom poisoning from 5-10 - [+] donated objects count towards xp! - [+] -50% of value if not known. - [+] -25% of value if not id'd - [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
char changerace[BUFLEN];
int willchange = B_FALSE;
int willrage = B_FALSE;
//int mintime=20,maxtime=30;
strcpy(changerace, "");
if (!ispolymorphed(who)) {
lyflag = lfhasflag(who, F_LYCANTHROPE);
if (lyflag && (lyflag->val[0] != 0)) {
strcpy(changerace, lyflag->text);
willchange = B_TRUE;
} else {
flag_t *incflag;
incflag = lfhasflagval(who, F_INCUBATING, P_LYCANTHROPY, NA, NA, NULL);
if (incflag) {
char *p;
char *localtext;
char buf[BUFLEN];
// figure out race name from f_incubating flag.
localtext = strdup(incflag->text);
p = readuntil(buf, localtext, '^');
readuntil(buf, p, '^');
strcpy(changerace, buf);
// turn f_incubating into f_poisoned
completeincubation(who, incflag);
willchange = B_TRUE;
free(localtext);
willrage = B_TRUE;
}
}
}
if (willchange) {
race_t *r;
if (isplayer(who)) {
msg("You feel a change coming over your body!");
}
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
r = findracebyname(changerace, NULL);
- [+] press ] then \ - CRASH. - [+] if sound is behind walls: - [+] you hear a muffled explosion - [+] int canhear() needs one more optional argument: &numwallspassed - [+] if supplied, fill it in. - [+] in noise(), check numwallspassed. if there were any, then say 'muffled'. or maybe if more than 2? play around with this. - [+] listen skill should also give more info about NON monster sounds - [+] ie. direction, distance. - [+] set user->changinglev when CHECKING stairs in the same way as when we use them. - [+] monk abil - iron fist - use all remaining stamina as damage + knockback * [+] HITCONFER - this should only work if you were attacked through a BITE or CLAW etc. - [+] bug... werewolves etc not attacking properly after shapehifting - [+] some tech/tools should be usable with hands (ie. watch). f_operwithouthands - [+] werewolves sohuld keep f_hitconfer after shapeshifting - [+] done - [+] summoned creatures from ai should never attack their masters!!! - [+] only the PLAYER can be infected by a werewolf? or only HUMANS ? - [+] when a werewolf changes to animal form, no longer hide true race as 'human' - [+] lycanthropy? - [+] how to get it: - [+] drink were-xxx blood (->potion of lycanthropy, never appears randomly) - [+] bitten by a lycanthrope (chance) with hitconfer and fail a con check - [+] change f_lycanthrope so text = racename. - [+] effects when you get it: - [+] right away, add diseased with lycanthropy. incubatino infinite ? - [+] if you are incubating lycanthropy, you always change at the full moon (and get rage, and lose control). - [+] at this point, complete the incubation and... - [+] add f_hatesall - [+] lose control for a while - [+] after you change back the first time, you can change at will. (but there is a risk each time of losing control) - [+] player regains control - [+] remove aicontrolled, hatesall, rage - [+] actually add f_lycanthrope, text=xxx, v0=4 - [+] when f_lycanthrope v0 drops to 0 or less... - [+] canwill shapeshift with race:xxx - [+] how to remove it - [+] remove curse scroll - [+] drink holy water - [+] these will: - [+] cure any incubating curse - [+] cure any f_poisoned curse - [+] cure lycanthropy, and any flags FROMLYCANTHROPY - [+] other effect - [+] wont/cant walk into holy circle? - [+] holy circle hurts you - [+] shouldn't be able to get critical hits on you (ie. injuries) if you ahve heavenly armour - [+] bug in f_poisoned text. i think i've fixed this now. Died on level 2 of the dungeon. Killed by venom poisoning from 5-10 - [+] donated objects count towards xp! - [+] -50% of value if not known. - [+] -25% of value if not id'd - [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
//polymorphto(who, r->id, rnd(mintime,maxtime));
polymorphto(who, r->id, PERMENANT);
donormalmove = B_FALSE;
- [+] press ] then \ - CRASH. - [+] if sound is behind walls: - [+] you hear a muffled explosion - [+] int canhear() needs one more optional argument: &numwallspassed - [+] if supplied, fill it in. - [+] in noise(), check numwallspassed. if there were any, then say 'muffled'. or maybe if more than 2? play around with this. - [+] listen skill should also give more info about NON monster sounds - [+] ie. direction, distance. - [+] set user->changinglev when CHECKING stairs in the same way as when we use them. - [+] monk abil - iron fist - use all remaining stamina as damage + knockback * [+] HITCONFER - this should only work if you were attacked through a BITE or CLAW etc. - [+] bug... werewolves etc not attacking properly after shapehifting - [+] some tech/tools should be usable with hands (ie. watch). f_operwithouthands - [+] werewolves sohuld keep f_hitconfer after shapeshifting - [+] done - [+] summoned creatures from ai should never attack their masters!!! - [+] only the PLAYER can be infected by a werewolf? or only HUMANS ? - [+] when a werewolf changes to animal form, no longer hide true race as 'human' - [+] lycanthropy? - [+] how to get it: - [+] drink were-xxx blood (->potion of lycanthropy, never appears randomly) - [+] bitten by a lycanthrope (chance) with hitconfer and fail a con check - [+] change f_lycanthrope so text = racename. - [+] effects when you get it: - [+] right away, add diseased with lycanthropy. incubatino infinite ? - [+] if you are incubating lycanthropy, you always change at the full moon (and get rage, and lose control). - [+] at this point, complete the incubation and... - [+] add f_hatesall - [+] lose control for a while - [+] after you change back the first time, you can change at will. (but there is a risk each time of losing control) - [+] player regains control - [+] remove aicontrolled, hatesall, rage - [+] actually add f_lycanthrope, text=xxx, v0=4 - [+] when f_lycanthrope v0 drops to 0 or less... - [+] canwill shapeshift with race:xxx - [+] how to remove it - [+] remove curse scroll - [+] drink holy water - [+] these will: - [+] cure any incubating curse - [+] cure any f_poisoned curse - [+] cure lycanthropy, and any flags FROMLYCANTHROPY - [+] other effect - [+] wont/cant walk into holy circle? - [+] holy circle hurts you - [+] shouldn't be able to get critical hits on you (ie. injuries) if you ahve heavenly armour - [+] bug in f_poisoned text. i think i've fixed this now. Died on level 2 of the dungeon. Killed by venom poisoning from 5-10 - [+] donated objects count towards xp! - [+] -50% of value if not known. - [+] -25% of value if not id'd - [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
if (willrage) {
- [+] glorana doesn't like you attacking during Glorana's Peace - [+] make more shops let you donate - [+] bookstore - [+] jewellery store - [+] rename blood hawk to hunting hawk - [+] offering a bribe to creatures should make them move likely to helkp you, AND reset the "auto don't help' flag - [+] change "get lost " message to "get lost, <racename>" if your race is different. - [+] sayphrase() needs a new arg: lifeform_t *talkingto - [+] colours for spell effect. - [+] eg. "the flame dart hits xxx" should use CC_BAD - [+] muddy room - mud should be immutable. - [+] maybe change rage - you lose control totally and just attack anything in sight? - [+] do it. - [+] don't train when enraged - [+] don't hear sounds when enraged - [+] RAGE effects: strength bonus, accuracy bonus, infinite stamina, never flee, - [+] fix bug in skill point calculation - [+] CRASH - someone got their turn BEFORE the player! - [+] new poisontype field - contracttext - [+] hecta's pray effect not working. - [+] adjust food poisioning check difficulty based on food age - [+] check OBHP percentage of max. - [+] >= 80% obhp means -30% difficulty check - [+] ring of unholiness should confer dtvuln holy. - [+] fix colour on spellclouds - [+] fix bug with spellclouds not affecting centre cell. - [+] if you are frozen, heat does extra damage and cold does none. - [+] when frozen, lessen chance of melting. - [+] reduce bite damage of snakes - [+] balaclava should protect from gas - [+] make some floor types (like carpet) be multicoloured - [+] celltype->altcolour - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is true. - [+] don't regain stamina while training - [+] random text in shops - sayphrase needs to cope with lf == null - [+] done - [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with staves! - [+] BUG: in vault.vlt. - [+] "30% chance of door" really means "otherwise empty cell" - [+] need to be able to say "else put a wall here" - [+] so change: - [+] c:type:what[:pct] - [+] to this: - [+] c:type:what[:pct][:alttype:altwhat] - [+] vlegend_t needs - [+] enum VAULTTHING tt2 - [+] char *what2 - [+] they default to VT_NONE, NULL - [+] secret doors should take their fake wall type from the vault spec - [+] vaults need f_celltypeempty/solid flags - [+] add via: solid:xxx in vault def - [+] recycler - [+] donate anything
2012-07-15 15:01:58 +10:00
enrage(who, PERMENANT);
- [+] press ] then \ - CRASH. - [+] if sound is behind walls: - [+] you hear a muffled explosion - [+] int canhear() needs one more optional argument: &numwallspassed - [+] if supplied, fill it in. - [+] in noise(), check numwallspassed. if there were any, then say 'muffled'. or maybe if more than 2? play around with this. - [+] listen skill should also give more info about NON monster sounds - [+] ie. direction, distance. - [+] set user->changinglev when CHECKING stairs in the same way as when we use them. - [+] monk abil - iron fist - use all remaining stamina as damage + knockback * [+] HITCONFER - this should only work if you were attacked through a BITE or CLAW etc. - [+] bug... werewolves etc not attacking properly after shapehifting - [+] some tech/tools should be usable with hands (ie. watch). f_operwithouthands - [+] werewolves sohuld keep f_hitconfer after shapeshifting - [+] done - [+] summoned creatures from ai should never attack their masters!!! - [+] only the PLAYER can be infected by a werewolf? or only HUMANS ? - [+] when a werewolf changes to animal form, no longer hide true race as 'human' - [+] lycanthropy? - [+] how to get it: - [+] drink were-xxx blood (->potion of lycanthropy, never appears randomly) - [+] bitten by a lycanthrope (chance) with hitconfer and fail a con check - [+] change f_lycanthrope so text = racename. - [+] effects when you get it: - [+] right away, add diseased with lycanthropy. incubatino infinite ? - [+] if you are incubating lycanthropy, you always change at the full moon (and get rage, and lose control). - [+] at this point, complete the incubation and... - [+] add f_hatesall - [+] lose control for a while - [+] after you change back the first time, you can change at will. (but there is a risk each time of losing control) - [+] player regains control - [+] remove aicontrolled, hatesall, rage - [+] actually add f_lycanthrope, text=xxx, v0=4 - [+] when f_lycanthrope v0 drops to 0 or less... - [+] canwill shapeshift with race:xxx - [+] how to remove it - [+] remove curse scroll - [+] drink holy water - [+] these will: - [+] cure any incubating curse - [+] cure any f_poisoned curse - [+] cure lycanthropy, and any flags FROMLYCANTHROPY - [+] other effect - [+] wont/cant walk into holy circle? - [+] holy circle hurts you - [+] shouldn't be able to get critical hits on you (ie. injuries) if you ahve heavenly armour - [+] bug in f_poisoned text. i think i've fixed this now. Died on level 2 of the dungeon. Killed by venom poisoning from 5-10 - [+] donated objects count towards xp! - [+] -50% of value if not known. - [+] -25% of value if not id'd - [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
}
}
} else if (ispolymorphed(who)) {
int autorevert = B_FALSE;
// not midnight. polymorphed uncontrollably?
if (lfhasflagval(who, F_POISONED, P_LYCANTHROPY, NA, NA, NULL) &&
lfhasflag(who, F_AICONTROLLED)) {
autorevert = B_TRUE;
} else if (isplayer(who)) {
flag_t *lyflag;
lyflag = lfhasflag(who, F_LYCANTHROPE);
if (lyflag && (lyflag->val[0] > 0)) {
autorevert = B_TRUE;
}
}
if (autorevert) {
abilityeffects(who, OT_A_POLYREVERT, who->cell, who, NULL);
}
}
- [+] bug: notime being set in timeeffectslf() but NOT being UNSET!!! - [+] air spells: - [+] create whirlwind - make a single whirlwind - [+] implement - [+] ethereal steed - move very fast and levitate - [+] f_autocreateob whirlwind behind you - [+] whirlwind object throws any lfs/objects around randomly - [+] tornado - creates a single tornado at a given location (more powerful). it moves around randomly, kills adjacent walls. - [+] F_OBMOVESRANDOMLY - [+] find an adjacent cell (walls ok) - [+] kill any walls there - [+] move there - [+] hurricane - creates a cross cloud of whirlwinds (very powerful!). these move around randomly and kills adjacent walls. - [+] implement - [+] make them all move TOGETHER. - [+] djinni / genie - [+] invisibility - [+] gaseous form - [+] illusion? mirror image ? - [+] permenant ethereal steed effects - [+] airblast - [+] gust of wind - [+] efreeti - [+] wall of fire (new spell) - [+] gas form - [+] enlarge - [+] flame pillar - [+] when summoning a monster with a lifeob, place it under them? - [+] druid should learn canwill plantwalk at some point... level 7 - [+] allow f_cancast to have a timer too, like canwill. (so that monsters only cast certain spells sometimes) - [+] is ai plantwalk working? - [+] seems to... - [+] but then i get "something casts a spell at you!" - [+] aigetspelltarget is setting targlf to player. FIXED. - [+] ai keeps on casting plantwalk after doing it once. - [+] ai needs to sto fleeing after casting plantwalk successfully! - [+] this is because after stealing, we are fleeing for a time limit, rather than PERMENANT - [+] once this is fixed, add spellcasttext plantwalk = null for dryad. - [+] NEw code: if you teleport, and you were fleeing, and you can no longer have LOF to the one uou're fleeing from, STOP. - [+] The dryad vanishes! A dryad moves out of view.--More-- - [+] don't say both! - [+] change CHARMEDBY code for player: - [+] walk towards charmer, then give them your stuff! - [+] dryad brown 'T' (tree creature) - [+] knife - [+] must stay near oak tree - [+] can "plantwalk" between oak trees (or other plants). - [+] cast spell at cell with plant, warps you to a random one - [+] for player: reveal all cells with trees, then ask you which one. - [+] range 1 - [+] maxpower 1 - [+] ai casting: must be a plant in range. - [+] emergency code: if not within lifeob range, move back! - [+] can cast sleep - [+] wants gold/gems/weapons - [+] home oak tree contains gems - [+] steal - [+] stayinroom - [+] charm - [+] AI shouldn't ever walk away from life ob! - [+] ai homeob gems aren't appearing
2012-03-07 22:46:55 +11:00
// charmed ?
if (donormalmove) {
f = lfhasflag(who, F_CHARMEDBY);
if (f) {
if (!charmedaction(who, f)) {
donormalmove = B_FALSE;
}
}
}
// pathfinding?
if (donormalmove && isplayer(who)) {
flag_t *pff;
pff = lfhasflag(who, F_PATHFINDING);
if (pff) {
cell_t *c;
// follow.....
c = ai_getnextcellinpath(who);
if (c) {
if (c->map != who->cell->map) {
msg("Destination is on different level. Aborting.");
stoppathfinding(who);
} else {
int dir,ok;
enum ERROR errcode;
donormalmove = B_FALSE;
dir = whichwayto(who->cell, c, who, B_TRUE);
ok = moveclear(who, dir, &errcode);
if (!ok && (errcode != E_DOORINWAY)) {
// something other than a door in the way?
msg("Stopped pathfinding.");
stoppathfinding(who);
} else {
if (trymove(who, dir, B_TRUE, B_FALSE)) {
msg("Can't move towards target cell.");
stoppathfinding(who);
}
if (who->cell == c) {
// success
ai_popnextcellinpath(who);
}
}
}
} else {
int keepgoing = B_FALSE;
msg("Arrived at destination.");
if (streq(pff->text, "z")) {
keepgoing = B_TRUE;
}
stoppathfinding(who);
if (keepgoing) {
startexplore(B_FALSE);
}
}
}
}
// casting a spell?
if (donormalmove) {
f = lfhasflag(who, F_CASTINGSPELL);
if (f) {
donormalmove = B_FALSE;
2011-02-01 06:16:13 +11:00
f->val[2]--;
if (f->val[2] <= 0) {
- [+] weakness spell should half melee damage. - [+] quaffed a potion of polymorph self... and nothing happened! - [+] only killing undead should please the god of life, not just killing anything evil - [+] klikirak shouldn't get angry when you take cold damage! - [+] fire sohuld convert flammable celltypes to another type: - [+] wood -> stone floor with pit - [+] carpet > stone - [+] increase flamepillar range - [+] warning before killing firebug on wood/carpet, if wisdom is at_high or above, and animal lore is high enough. - [+] make f_twohanded only apply up to a given lf size. - [+] implement - [+] then add "istwohandedfor(wep, lf)" - [+] then fix up ob defs in data.c - [+] unnatural growth/shrinkage spells should be temporary too (like potion) - [+] random polymorph code - [+] stay at the same TR, or one higher/lower! (same for player random polymorph) - [+] elephant - friendly to mammoans - [+] mammoth - [+] pixie (then pixie, dryad sprite = sylvan / fae) - [+] naiad / nixie - [+] blue 'n' - [+] low power charm to lure into water - [+] dagger/javelin - [+] throwing net - [+] resist magic 25% - [+] droid - zapper - [+] hoverscout (levitates, summons monsters) - [+] skellion - floating flaming skull, scream attack, flame melee - [+] fire primality should cast flame burst. - [+] don't modify monster hp based on fitness. - [+] storm primality / wind primality - [+] very fast - [+] 2 attacks - 1d5 each time. (pummel with debris / zapper) - [+] permenant windshield - [+] lesser: - [+] lightningbolt (lesser, 2d6) - [+] sleetstorm (lesser, 1-2 cold and slow movement) - [+] greater - [+] chain lightning (greater, 3d6) - [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on power) - [+] naiad (water sprite) - 'n' -blue - [+] good - [+] aquatic - [+] water spirit - [+] charm spell - [+] ling parasite - green 'x' - [+] turns one corpse into a zombie (dies in the process) - [+] add onion object. - [+] roc - [+] "crystal cur" - canine. only bashing works - [+] gems for corpses. - [+] bug: monsters not using spells. fixed. - [+] test NOSPELLS bug with rapidivy - [+] test low IQ spells with storm primality - [+] make hitdice be d8 rather than d4 - [+] change F_HITDICE - [+] add constant HITDIESIDES - [+] redo all definitions in data.c
2012-03-11 12:39:33 +11:00
// spell triggers!
char *p;
char buf[BUFLEN];
int lfid,mapid,x,y,power;
long obid;
lifeform_t *targlf;
object_t *targob;
cell_t *targcell = NULL;
map_t *targmap;
enum OBTYPE sid;
sid = f->val[0];
power = f->val[1];
// finished!
p = f->text;
p = readuntil(buf, p, ';');
lfid = atoi(buf);
p = readuntil(buf, p, ';');
obid = atol(buf);
p = readuntil(buf, p, ';');
mapid = atoi(buf);
p = readuntil(buf, p, ';');
x = atoi(buf);
p = readuntil(buf, p, ';');
y = atoi(buf);
if (lfid >= 0) {
targlf = findlf(NULL, lfid);
- [+] 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 {
targlf = NULL;
}
if (obid >= 0) {
targob = findobidinmap(who->cell->map, obid);
} else {
targob = NULL;
}
if (mapid >= 0) {
targmap = findmap(mapid);
targcell = getcellat(targmap, x, y);
}
taketime(who, getspellspeed(who));
- [+] change real_getlfname(): - [+] take lifeform_t * for usevis instead of boolean - [+] add new option "useorigrace" for shapechangers - [+] whips - [+] F_WHIP - [+] new skill: sk_whips - [+] basic trais: - [+] high accuracy - [+] lowish dam - [+] pierce/slash/bash damage - [+] some will let you cast 'snatch' and suck - [+] no crit chance - [+] examples: - [+] bull whip (lowest damage) - [+] flail (ie. chain whip ,change type from club to whip) - [+] heavy flail - [+] metal-tipped whip (flail with higher acc) - [+] barbed whip (causes piercing damage as well) - [+] io.c @@ should take extradam into account - [+] describbeob() should show F_EXTRADAM - [+] change morale values - this shoudl default to your TR, otherwise f_morale replaces it. - [+] CRASH in doknowledgelist() - [+] hecta bug: fixed! - [+] You bisect the kobold! The dying kobold shouts "Nooooo!". Hecta's voice grates against your mind: "You allowed my sacrifice to escape!" - [+] is this because i'm calling "flee" after the lf takes fatal damage but before die() is called? - [+] NO, because flee() checks isdead(lf) - [+] it's happening when i kill a monster, and another one of the same type sees me! - [+] change: only trigger this is the player has previously attacked the monster - [+] replace fire titan with balrog - [+] You bisect the giant gnat! The dying giant gnat shouts "Nooooo!". - [+] fixed. - [+] boggart -brown 'n' - [+] made of wood - [+] cause things to disappear - [+] cause milk to sour (low power blight) - [+] scared of salt - [+] demandgold - [+] briar thrash (spiky) - yellow 'T' (grab) - [+] bingebark - red 'T'. wants edible, canwill snatch - [+] leshy (human with leaves) - green 'h' - [+] manticore - red 'm'' - [+] lion, bat lings, man head, tail tipped with iron spikes - [+] carnivore - [+] human sized - [+] shoots 1-6 spikes. each spike does 1d6. too much!! - [+] change this to be 5d3 damage per volley. - [+] ie missiledam 4d3 - [+] can do this once every 50 turns. - [+] can fly - [+] claws - 1d3 1d3 - [+] want gold (non covet)
2012-03-29 07:17:47 +11:00
dospelleffects(who, sid, power, targlf, targob, targcell, B_UNCURSED, NULL, B_FALSE, NULL);
killflagsofid(who->flags, F_CASTINGSPELL);
} else {
if (isplayer(who)) {
objecttype_t *sp;
sp = findot(f->val[0]);
msg("You continue casting %s.", sp->name);
} else if (cansee(player, who)) {
flag_t *f2;
char lfname[BUFLEN];
// still going...
getlfname(who, lfname);
- [+] weakness spell should half melee damage. - [+] quaffed a potion of polymorph self... and nothing happened! - [+] only killing undead should please the god of life, not just killing anything evil - [+] klikirak shouldn't get angry when you take cold damage! - [+] fire sohuld convert flammable celltypes to another type: - [+] wood -> stone floor with pit - [+] carpet > stone - [+] increase flamepillar range - [+] warning before killing firebug on wood/carpet, if wisdom is at_high or above, and animal lore is high enough. - [+] make f_twohanded only apply up to a given lf size. - [+] implement - [+] then add "istwohandedfor(wep, lf)" - [+] then fix up ob defs in data.c - [+] unnatural growth/shrinkage spells should be temporary too (like potion) - [+] random polymorph code - [+] stay at the same TR, or one higher/lower! (same for player random polymorph) - [+] elephant - friendly to mammoans - [+] mammoth - [+] pixie (then pixie, dryad sprite = sylvan / fae) - [+] naiad / nixie - [+] blue 'n' - [+] low power charm to lure into water - [+] dagger/javelin - [+] throwing net - [+] resist magic 25% - [+] droid - zapper - [+] hoverscout (levitates, summons monsters) - [+] skellion - floating flaming skull, scream attack, flame melee - [+] fire primality should cast flame burst. - [+] don't modify monster hp based on fitness. - [+] storm primality / wind primality - [+] very fast - [+] 2 attacks - 1d5 each time. (pummel with debris / zapper) - [+] permenant windshield - [+] lesser: - [+] lightningbolt (lesser, 2d6) - [+] sleetstorm (lesser, 1-2 cold and slow movement) - [+] greater - [+] chain lightning (greater, 3d6) - [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on power) - [+] naiad (water sprite) - 'n' -blue - [+] good - [+] aquatic - [+] water spirit - [+] charm spell - [+] ling parasite - green 'x' - [+] turns one corpse into a zombie (dies in the process) - [+] add onion object. - [+] roc - [+] "crystal cur" - canine. only bashing works - [+] gems for corpses. - [+] bug: monsters not using spells. fixed. - [+] test NOSPELLS bug with rapidivy - [+] test low IQ spells with storm primality - [+] make hitdice be d8 rather than d4 - [+] change F_HITDICE - [+] add constant HITDIESIDES - [+] redo all definitions in data.c
2012-03-11 12:39:33 +11:00
f2 = lfhasflagval(who,F_SPELLCASTCONTTEXT, f->val[0], NA, NA, NULL);
if (!f2) {
f2 = lfhasflagval(who,F_SPELLCASTCONTTEXT, OT_NONE, NA, NA, NULL);
}
if (f2 && strlen(f2->text)) {
msg("%s %s.", lfname, f2->text);
} else {
msg("%s continues casting a spell.", lfname);
}
- [+] 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
}
}
}
}
- [+] add more vrare vaults to reduce likelihood of cockatrice lair! - [+] bazaar - [+] money vault hsould be vrare - [+] so should traproom - [+] rename giant rat to "dire rat" - [+] don't show anything other than object description and throwing for unknown tech - [+] shouldn't be able to rest in a tent if it's not known! - [+] eyebat corpse increase maxmp? - [+] blessed missiles should nearly always hit undead * [+] too easy to dodge thrown missiles? - [+] spell and wand of culinary abundance - [+] if a carnivorous animal kills you: "Eaten by a xxx" * [+] bug: stairsperlev is only ever used in making DUNGEONS. generecise this ?? - [+] safetorest - should ignore monsters feigning death - [+] broken nose should reduce smell range - [+] fresh and stale bread should be interchangable in cooking - [+] make scroll of permenance act on you, not your objects - [+] tweak object rarity yet agian... - [+] bug: hole in roof above player start pos is immediately destroyed. - [+] change pickaxe to be like resting - [+] wait first, then if not interrupted, do the dig. - [+] add cell->hp, celltype->hp. around 100. - [+] f_digging, x, y, digperturn - [+] interrupt() will stop this. - [+] each turn, lower hp of cell by 1. - [+] make wlaking bakwards take less time based on athletics skill!!! - [+] at adept, takes no extra time? - [+] better racial display - [+] ? for extra info. - [+] hitdice - [+] general attribs (str etc) - [+] don't show description until you press '?' - [+] addbonustext(flagpile, f_BONDESC, "asdffas") - to avoid index issues - [+] remove VULNS from "effects" unless temporary - [+] isresistantto() etc need to have "int onlytemp" - [+] remove VULNS from manual BONTEXT flags - [+] CRASH IN DTVULN CODE!! - [+] limit '?r' display ?? - [+] what to show - [+] show races you have encountered - [+] show races you know about through Lore (adept level) - [+] show playable races????? - [+] structs - [+] race->encountered - [+] need to save this. - [+] make EFFECTS only show TEMPORARY effects or ones which don't come from race? - [+] automate bondesc/pendesc based on flags! - [+] vulnarabilities / resist / immun - [+] vision range!! (visrangemod) - [+] size? restricted armour. - [+] stayinroom - [+] f_humanoid (can use weapons) - [+] tamable - [+] seeindark - [+] caneatraw - [+] enhancesmell - [+] caneatraw - [+] vegeatrian - [+] cernivore - [+] fastmetab - [+] startskill - [+] tremorsense - [+] silentmove - [+] deaf - [+] flying / levitating - [+] awareness - [+] nocturnal / diurnal - [+] heavyblow - [+] packattack - [+] dodges - [+] autocreateob - [+] MPMOD - [+] HPMOD - [+] MEDITATES - [+] PHOOTMEM - [+] canwill "Spells: xx, x, x, x" - [+] spells: - [+] animate stone - "power" walls turn into stone golems - [+] implement spell - [+] golem - [+] r_golemstone - [+] knockback attack - [+] high str - [+] fists - [+] corpsetype and iunsummonob = boulder - [+] spell power modification - subtract spell level. - [+] when i go down a drain, make sure the new map links to THE DRAIN I WENT DOWN. not some otehr one. - [+] some monsters shouldn't sleep! add new flag: f_nosleep - [+] make spanner help disarm traps!
2011-12-04 09:33:37 +11:00
// digging?
if (donormalmove) {
f = lfhasflag(who, F_DIGGING);
if (f) {
if (isplayer(who) && checkforkey()) {
msg("Stopped digging.");
killflag(f);
} else {
if (!continuedigging(who)) donormalmove = B_FALSE;
}
}
}
// repairing?
if (donormalmove) {
f = lfhasflag(who, F_REPAIRING);
if (f) {
// this flag might appear more than once. that's okay, we'll handle a new
// one each time.
if (isplayer(who) && checkforkey()) {
msg("Stopped repairing items.");
killflag(f);
} else {
if (!continuerepairing(who, f)) donormalmove = B_FALSE;
}
}
}
// eating?
if (donormalmove) {
f = lfhasflag(who, F_EATING);
if (f) {
object_t *o;
o = findobbyid(who->pack, atol(f->text));
if (!o) {
o = findobidinmap(who->cell->map, atol(f->text));
}
if (o && caneat(who, o) && (getoblocation(o) == who->cell)) {
- [+] poltergeists are not honouring stayinroom.... fixed. - [+] unique monsters shouldn't get things like 'hungry' - [+] A some bread flies through the air toward you. A some bread hits you. - [+] related to using "FEELTEXT" - [+] fixed - need to set "no_a" when using feeltext. - [+] bug: ice wraith drops a bog wraith corpse - [+] ...why ? - [+] wish for 'ice wraith corpse', and i end up with 'bog wraith corpse' - [+] racename is "wraith", not "ice wraith" - [+] ...because "p" was just "wraith corpse", what happened to "ice" ? - [+] wishing for "bog wraith corpse", p is "bog wraight corpse" was expected. - [+] for some reason the prefix "ice " is special... - [+] it's because "ice" is the name of a material - [+] need isvalidoverridemat() - [+] don't show attribs as options when levelling up if the base score is maxed. - [+] bug donating money - [+] bug: wearing gauntlets, someone cast heat metal on me. my gauntlets didn't hurt me? - [+] nor did my armour?? - [+] they get set to 'a red-hot xxx' - [+] ...but don't deal damage. - [+] touch() needs to differentiate touching something (with your hands) from it touching you! - [+] ie. int onpurpose argument. - [+] bjorn no longer being pleased by defeating all foes... - [+] monster modification at nighttime/daytime - [+] undead are stronger at night (bonus on all skillchecks & tohit) +/- 15% - [+] undead are weaker during the day (penalty to skillchecks & tohit) - [+] plants are stronger during the day - [+] describe in adept level knowledge - [+] more work on hydra - [+] poison breath - autocreate poison gas in front of it - [+] cases where head not severed - [+] criticalhit() needs to know about the weapon which was used (or NULL) - [+] then: - [+] flaming weapon cauterises wound - [+] silver does too - [+] in this case after severing a head: - [+] don't regrow more - [+] lower TR - [+] lose f_hasattack - [+] if it was the last head, it dies. - [+] fishfolk should have extra evasion in water, and aviads in air - [+] implmement - [+] apply to races: - [+] fishfolk - [+] aviad - [+] nimble creatures with aquatic - [+] nimble creatures with natural flight - [+] announce in makedesc_race, beginner level knowledge.
2012-06-08 11:29:48 +10:00
int cancelled = B_FALSE;
// has it gone bad while we're eating it?
if (isbadfood(o) && isplayer(who) && (getskill(who, SK_COOKING) >= PR_BEGINNER)) {
char ques[BUFLEN],obname[BUFLEN];
char ch;
getobname(o, obname, 1);
snprintf(ques, BUFLEN, "%s has gone bad - stop eating?", obname);
- [+] poltergeists are not honouring stayinroom.... fixed. - [+] unique monsters shouldn't get things like 'hungry' - [+] A some bread flies through the air toward you. A some bread hits you. - [+] related to using "FEELTEXT" - [+] fixed - need to set "no_a" when using feeltext. - [+] bug: ice wraith drops a bog wraith corpse - [+] ...why ? - [+] wish for 'ice wraith corpse', and i end up with 'bog wraith corpse' - [+] racename is "wraith", not "ice wraith" - [+] ...because "p" was just "wraith corpse", what happened to "ice" ? - [+] wishing for "bog wraith corpse", p is "bog wraight corpse" was expected. - [+] for some reason the prefix "ice " is special... - [+] it's because "ice" is the name of a material - [+] need isvalidoverridemat() - [+] don't show attribs as options when levelling up if the base score is maxed. - [+] bug donating money - [+] bug: wearing gauntlets, someone cast heat metal on me. my gauntlets didn't hurt me? - [+] nor did my armour?? - [+] they get set to 'a red-hot xxx' - [+] ...but don't deal damage. - [+] touch() needs to differentiate touching something (with your hands) from it touching you! - [+] ie. int onpurpose argument. - [+] bjorn no longer being pleased by defeating all foes... - [+] monster modification at nighttime/daytime - [+] undead are stronger at night (bonus on all skillchecks & tohit) +/- 15% - [+] undead are weaker during the day (penalty to skillchecks & tohit) - [+] plants are stronger during the day - [+] describe in adept level knowledge - [+] more work on hydra - [+] poison breath - autocreate poison gas in front of it - [+] cases where head not severed - [+] criticalhit() needs to know about the weapon which was used (or NULL) - [+] then: - [+] flaming weapon cauterises wound - [+] silver does too - [+] in this case after severing a head: - [+] don't regrow more - [+] lower TR - [+] lose f_hasattack - [+] if it was the last head, it dies. - [+] fishfolk should have extra evasion in water, and aviads in air - [+] implmement - [+] apply to races: - [+] fishfolk - [+] aviad - [+] nimble creatures with aquatic - [+] nimble creatures with natural flight - [+] announce in makedesc_race, beginner level knowledge.
2012-06-08 11:29:48 +10:00
ch = askchar(ques, "yn", "y", B_TRUE, B_FALSE);
if (ch == 'y') {
killflag(f);
cancelled = B_TRUE;
}
}
if (!cancelled) {
if (eat(who,o)) {
// failed
killflag(f);
} else {
donormalmove = B_FALSE;
}
- [+] make zombies eat flesh. - [+] warn before eating your own kind if it will anger your god, and you wisdom is high. - [+] make disease way worse if you eat your own race's corpse! - [+] CRASH when i try to cook firebug corpse * [+] bones files: - [+] when your leg is bleeding, don't lose hp for ATTACKING, only for MOVING. - [+] bug: issue with skill display if you learn higher than your max level by reading a book! - [+] in this case, reading the book should fail. - [+] when you start worshipping felix, allow you to learn lockpicking & thievery to full level! - [+] infinite loop when an ashkari enters rage while already eating. - [+] felix prayer should always unlock all nearby doors - [+] if you add f_calwill xxx, v1=112312 v2=NA, make v2 = v1. - [+] that way we can confer it! - [+] say "this is xxx!" after wearing a new amulet. - [+] fork / knife should make you eat faster. - [+] double the hp of most armour again AMULETS - [+] add new bodypart = neck - [+] object hiddennames * [+] nouns * [+] adjectives - [+] flight (canwill fly) - [+] enhance spell power - [+] victimization (makes everything hostile) (no auto id) - [+] blinking - [+] anger (canwill rage) - [+] vs poison (poison immune) - [+] vs magic (magic resistance) - [+] common - [+] feather fall (dt_fall dmg = 0) - [+] don't "slam into the ground", just "float gently to the ground" - [+] of amplification (boost listening skillchecks, allow you to listen at stairs) - [+] peaceful sleep (don't get woken up by sound, cursed) - [+] chef's amulet(lower metabolism) - [+] thief's amulet (lockpicking)
2012-03-05 21:31:21 +11:00
}
} else {
killflag(f);
}
* [+] 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
}
}
// resting?
if (donormalmove) {
f = isresting(who);
if (!f) {
f = lfhasflag(who, F_TRAINING);
}
if (f) {
// check for interrupt of resting...
if (isplayer(who) && checkforkey()) {
msg("Stopped %s.",(f->id == F_TRAINING) ? "training" : "resting");
stopresting(who);
} else {
if (isplayer(who)) {
if (++who->turnsskipped >= 10) {
//msg("Time passes...");
msg(".");
who->turnsskipped = 0;
}
}
noise(who->cell, who, NC_OTHER, SV_SHOUT, "sounds of training.", NULL);
rest(who, B_TRUE);
donormalmove = 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 (donormalmove) {
// paralyzed etc?
if (isimmobile(who)) {
* [+] 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 (isplayer(who)) {
if (++who->turnsskipped >= 10) {
2011-05-20 06:30:58 +10:00
//msg("Time passes...");
msg(".");
* [+] 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
who->turnsskipped = 0;
}
}
rest(who, B_FALSE);
- [+] bug: "10 flaming arrows ##########\n are no longer on fire" - [+] bug: when wearing no boots: "A small puddle of water hits you!" - [+] animated zombie keeps changing colour * [+] wizard special case: * [+] bug - walked down stiars on top of a monster - [+] change "haslof" to come from a cell - [+] replace WE_NOTSOLID with WE_WALKABLE - [+] show hp/mp in colour - [+] invis potion should always traget user - [+] generic functions to curse/uncurse an object - [+] not prompting for statgain after training properly. fixed. * [+] pressing a key should interrupt resting * [+] implement doublebuffering for screen - [+] don't show attack dmg for mosnters - [+] reduce sprint time - [+] if a monster is chasing someone (ie has F_TARGET), then don't consider cursed ob ells as valid - [+] don't hear noises when in battle - [+] colourise attribs on status bar * [+] askob/askobmulti - [+] "lockpick with what" showing too much * [+] inventoy colours - [+] "masterwork stick" ?! - [+] poison: save to get rid of poison should be HARDER than save to prevent getting it * [+] why are xats starting off carrying objects ? * [+] small chance of catching a thrown missile if you have very high dex * [+] if you polymorphed on purpose, have a "revert to original form" ability - [+] nausea should only affect humanoids - [+] BUG displaying knowledge when it goes longer than 1 screen. - [+] monsters are attacking each other again! fixed? * [+] BUG: when i load a game, i gain all knowledge! - [+] more pole weapons * [+] disarming weapons * [+] tripping weapons * [+] MORE ISSUES with askobject * [+] validatelf - [+] fix bug with poison triggering too often - [+] chance of retching when nauseated. no hp loss, but takes time. - [+] monsters shouldn't throw stuff if they don't have lof. - [+] fix crash in knockbackob->fireat, caused by thrower == null - [+] let high powered KNOCK knockback creatures again ? - [+] test function to dump out: dungeonlev which_monsters_can_appear - [+] firstaid tells you how long poison will last and whether it's lifethreatenting? * [+] high level listen gives more info - [+] wind shield spell - [+] repels all missiles of speed <= power - [+] variable level spells - [+] F_VARLEVEL - [+] when you cast, say "cast at how much power" with choices "Power II (5 MP)" - [+] show in spell list: "5-10 MP" - [+] replace ARBOOST with MAGICARMOUR - [+] needan() * [+] move psychic shield check into losehp - [+] high level detectlife should show actual lf glyphs - [+] control which jobs can learn which new skills. - [+] F_CANLEARN xxx - [+] remember last target from spells - [+] askcoords = does lf for lastlftarg exist? if not, set it to null - [+] if so, start with it - [+] when you pick one, set it. - [+] F_SHIELDPENALTY - modifies accuracy. * [+] stop wizards from using shields
2011-04-06 17:27:55 +10:00
donormalmove = 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 (donormalmove) {
* [+] 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 (isplayer(who)) {
drawcursor();
// find out what player wants to do
- [+] press ] then \ - CRASH. - [+] if sound is behind walls: - [+] you hear a muffled explosion - [+] int canhear() needs one more optional argument: &numwallspassed - [+] if supplied, fill it in. - [+] in noise(), check numwallspassed. if there were any, then say 'muffled'. or maybe if more than 2? play around with this. - [+] listen skill should also give more info about NON monster sounds - [+] ie. direction, distance. - [+] set user->changinglev when CHECKING stairs in the same way as when we use them. - [+] monk abil - iron fist - use all remaining stamina as damage + knockback * [+] HITCONFER - this should only work if you were attacked through a BITE or CLAW etc. - [+] bug... werewolves etc not attacking properly after shapehifting - [+] some tech/tools should be usable with hands (ie. watch). f_operwithouthands - [+] werewolves sohuld keep f_hitconfer after shapeshifting - [+] done - [+] summoned creatures from ai should never attack their masters!!! - [+] only the PLAYER can be infected by a werewolf? or only HUMANS ? - [+] when a werewolf changes to animal form, no longer hide true race as 'human' - [+] lycanthropy? - [+] how to get it: - [+] drink were-xxx blood (->potion of lycanthropy, never appears randomly) - [+] bitten by a lycanthrope (chance) with hitconfer and fail a con check - [+] change f_lycanthrope so text = racename. - [+] effects when you get it: - [+] right away, add diseased with lycanthropy. incubatino infinite ? - [+] if you are incubating lycanthropy, you always change at the full moon (and get rage, and lose control). - [+] at this point, complete the incubation and... - [+] add f_hatesall - [+] lose control for a while - [+] after you change back the first time, you can change at will. (but there is a risk each time of losing control) - [+] player regains control - [+] remove aicontrolled, hatesall, rage - [+] actually add f_lycanthrope, text=xxx, v0=4 - [+] when f_lycanthrope v0 drops to 0 or less... - [+] canwill shapeshift with race:xxx - [+] how to remove it - [+] remove curse scroll - [+] drink holy water - [+] these will: - [+] cure any incubating curse - [+] cure any f_poisoned curse - [+] cure lycanthropy, and any flags FROMLYCANTHROPY - [+] other effect - [+] wont/cant walk into holy circle? - [+] holy circle hurts you - [+] shouldn't be able to get critical hits on you (ie. injuries) if you ahve heavenly armour - [+] bug in f_poisoned text. i think i've fixed this now. Died on level 2 of the dungeon. Killed by venom poisoning from 5-10 - [+] donated objects count towards xp! - [+] -50% of value if not known. - [+] -25% of value if not id'd - [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
if (lfhasflag(who, F_AICONTROLLED)) {
aiturn(who);
} else {
handleinput();
}
- [+] ob1() macros - [+] healing potions should heal even "permenant" injuries - [+] potions/spells - [+] summon decoy (chicken horde) spell - "friends!" - [+] potion of spider climb (arachnid adhesion) - [+] gloves of the spider - [+] F_startobwepskill sk_shortblades etc - [+] change mosnter starting weapons to be based on wepsk, not specific named weapons - [+] make wrapprint cope properly with 0 length strings - [+] fix io.c showlfstats layout - [+] fountains of xp should always dry up after one use! - [+] plants shouldn't leave footprints! - [+] fix overcomplicated code in updateknowncells - [+] you always "see" allies following you down/up stairs, even if they are behind you. - [+] remove dtresist slash from skeletons - their bone skin reduces this already. - [+] leave dtresist pierce because it's hard to hit them. - [+] confirm gold amount when donating to shops - [+] increase piety by half of any gold donated to temples - [+] move hp, mp, sp to same line as target, and make them into bars - [+] HP:[ 11 / 11 ] - [+] makebar(window,min,max, loss,barcol, losscol) - [+] print the prefix: "HP:[" - [+] construct the bar string to fit into 10 chars: " 11 / 11 " - [+] print it one char at a time, setting bg as follows: - [+] background: - [+] 0 - min is barcol - [+] min+1 - min+loss is losscol - [+] rest is black - [+] print the suffix: "] " - [+] remember last dam amount for hp. - [+] show mp and stamina like this too. - [+] update viewpoint sooner when moving vertically - [+] if you can't comprehend the contents of a spellbook, don't ID it! - [+] hpbar: pass textcol and texcolwithbg - [+] show f_stability in @e - [+] don't identify tech inside shops if it's beyond your skill level - [+] bug: "a cursed +-1 ring of dexterity" - [+] enraged or deaf lfs shouldn't respond to chats - [+] drawbar: show mp/sp text in orange if it's at 0. - [+] allow vegetarians to eat frozen corpses. - [+] anything flying + stunned loses flying. - [+] chance for monsters to throw missiles is reduced when acc < C - [+] use same code as firearms - [+] undead shouldn't lose consciousness - they should jsut die.
2011-12-06 04:03:47 +11:00
if (who->bartimer) {
who->bartimer--;
if (who->bartimer == 0) {
who->damlastturn = 0;
who->mplastturn = 0;
who->stamlastturn = 0;
statdirty = B_TRUE;
drawstatus();
}
}
} else {
//char lfname[BUFLEN];
//char buf[BUFLEN];
// do ai move
//real_getlfname(who, lfname, B_FALSE);
//snprintf(buf, BUFLEN, "aimove %s",lfname);
//dbtimestart(buf);
aiturn(who);
//dbtimeend(buf);
* [+] need to set "needredraw" every time we exit: - [+] make eating take longer - depends on lf size and food sizes * [+] stop eating if something attacks you! - [+] change spell code to cope with caster = NULL!! - [+] why are rooms never more than 2 high * [+] traps * [+] eating bug again * [+] disarm trap skill? - [+] lots of needredraw bugs - [+] bug with cursor jumping around lots - [+] draw darkened visible cells in blue * [+] shadow cloak - [+] tree shouldn't prevent resting! - [+] make plants not attack druids * [+] cooking - [+] stop eating if your eating object is no longer with you * [+] FLAG CORRUPTION BUG - [+] pet walking back and forth on rotted objects - [+] purified food shouldn't decay anymore. - [+] plants shouldn't sleep - [+] RESTING on statbar not being cleared. the add of f_interrupted was clearing statdirty before f_asleep got removed in killflag(). - [+] AI: don't eat if in battle - [+] reduce projectile damage - [+] show raceclass in statbars - [+] smoke should make you cough. - [+] when going up levle, only prompt for spells you can cast?? (don't show "NOTCASTABLE") - [+] Your young hawk dies. The stirge releases something! - [+] sleeping thigns shoudn't follow you up/down stairs. - [+] when throw'ng an object, don't let it stack (otherwise we might destroy too much) - [+] don't draw "c - " for nopickup objects. - [+] saving throw for traps if you know about it. - [+] druid - get xp for calming animals - [+] rogue- get xp for picking locks, disarming traps. - [+] metal should be immune to most damage types * [+] make heavy blow need HEAVY weapon, not bashing. - [+] can't rest/train while levitating! - [+] gas traps only go off once. - [+] bug: The goblin throws a boulder at you. A boulder misses you. - [+] don't give short sword skill to wizard. - [+] hearing range based on listen skill * [+] coldness disease: - [+] CRASH when swapping places - [+] bug: i can teleport into an impassable object! - [+] add: "really target (your ally)?" - [+] give wizards school-based skill instead of manaspike + wildmagic - [+] LevUp still not being cleared!!! * [+] why is air wizard being prompted for call lightning at level 2??? * [+] summon weapon (summoning) - [+] hold portal (mod) - [+] reveal hidden - [+] stench (death) - [+] frostbite (minor but direct cold damage. 1dpower. maxpower 3) - [+] grease (modific) creates oil in a circle - [+] fear (death) - [+] seeinvis (div) - [+] locate obejct (div) tells you where a seen objcet is. - [+] swap places (transl) "twiddle" - [+] fire brand (fire, melee attaks deal fire damage) - [+] iceedge - [+] lore (div, temporary knowledge from a particular school?) - [+] icicle (cold, deals cold dam and knocks enemies away) * [+] chill (ice, 1d3 damage per exposed body part) - [+] hail storm (ice, big damage in area) - [+] wall of ice (creates icy wall, hp based on power)
2011-05-12 11:49:35 +10:00
}
2011-02-01 06:16:13 +11:00
}
- [+] allies should always give out info without payment - [+] ....but only about their home level! - [+] f_startmapid - [+] cave entrances should make noise - [+] drip - [+] echoing - [+] cope with multiple f_makesnoise flags on objects (pick one randomly) - [+] showlfstats skill display bug - "MORE" keystroke doesn't fall through. - [+] You impale the chicken! The chicken turns to face you. - [+] shouldn't turn to face if your'e dead! - [+] nulllify spell not populating seenbyplayer - [+] crash in createfakes() - [+] animals hsould still walk onto SHARP objects. - [+] secret doors showing up as empty remembered cells when you look away from them (and have lowish cartography) - [+] don't call remove_deadends on vaults. - [+] when walking down stairs to level 3: - [+] ERROR - stairs link to existing map 3('dungeon L2 (id #3)', depth 2), but it has no free stairs - [+] ie. Level 3 has too many up staircases ? no. 3 on all of them. - [+] FIXED. countstairs() was including too much. now using countmapobs(map, stairtype) instead. - [+] The goblin rogue a half-sized leather armour (null). - [+] fixed crash when you cast rage on someone who is eating. - [+] crash when catching a glowbug in a flask - [+] use canreachbp code when selecting armour to damage as well.... ie newt can't hit your helmet! - [+] BUG: "tunnel doing up" went down! - [+] for monsters:auto raise lf stats to match starting weapons - [+] crash in aigetspelltarget() for CLIMB - [+] should deactiveate all spells on polymorph - [+] allow usage of FEIGNDEATH while prone. - [+] make coprses non-stackable - [+] CRASH in animatedead - [+] shouldn't say 'you attack x from behind' if x has awareness
2012-01-06 11:20:57 +11:00
if (!isplayer(who) && (who->timespent == 0) && !donormalmove) {
// our auto action failed!
taketime(who, getactspeed(who));
}
2011-02-01 06:16:13 +11:00
}
}
- [+] if you put a water object onto dirt, it should become a mud object instead. - [+] dynamic morale - [+] whenever you fail a moral check, your moral gets a bit lower - [+] opposite if you pass it. - [+] make morale checks depend more on morale - [+] after you flee, become timid - [+] in io.c, show current morale if lorelev is high enough. "looks scared/timid/confident" - [+] implement f_timid: - [+] (will only move into melee range if it is behind you) * [+] checks: - [+] monsters can't attack while prone. always jsut stand up. - [+] call initiatemove even when atatcking - [+] bug: monsters not gaining abilities frmo skills - [+] bug when creating monsters with jobs: "xx looks foolish" etc - [+] tohit penalty for small monster hitting flying or levitating things (lower penalty for levitating) * [+] if you are flying and get hit, you drop to the ground? - [+] make feign death code better for mosnters - [+] moving should cose STAMREGEN points (ie don't regenerate stamina if you move) - [+] maybe: when you finish sprinting, drop stamina to -2 - [+] until it gets back, you can't move at all - [+] bug: stuck in moveto(), after walking up stairs to a new levle - [+] happened again right after "The young wolf starts sprinting! The young wolf flees down the staircase." - [+] was getting stuck in donextturn because we weren't on the plaeyr's map - taketime was returning. - [+] shield bash skill - [+] gain it at shieldlev beginner - [+] costs stamina - [+] pass a skill check based on shield skill and shield value to stun enemy - [+] only works if shield has hardness - [+] only works if you're the same size or larger than the opponent - [+] damages your shield (1d3 hp ?)
2011-10-06 09:08:13 +11:00
- [+] allies should always give out info without payment - [+] ....but only about their home level! - [+] f_startmapid - [+] cave entrances should make noise - [+] drip - [+] echoing - [+] cope with multiple f_makesnoise flags on objects (pick one randomly) - [+] showlfstats skill display bug - "MORE" keystroke doesn't fall through. - [+] You impale the chicken! The chicken turns to face you. - [+] shouldn't turn to face if your'e dead! - [+] nulllify spell not populating seenbyplayer - [+] crash in createfakes() - [+] animals hsould still walk onto SHARP objects. - [+] secret doors showing up as empty remembered cells when you look away from them (and have lowish cartography) - [+] don't call remove_deadends on vaults. - [+] when walking down stairs to level 3: - [+] ERROR - stairs link to existing map 3('dungeon L2 (id #3)', depth 2), but it has no free stairs - [+] ie. Level 3 has too many up staircases ? no. 3 on all of them. - [+] FIXED. countstairs() was including too much. now using countmapobs(map, stairtype) instead. - [+] The goblin rogue a half-sized leather armour (null). - [+] fixed crash when you cast rage on someone who is eating. - [+] crash when catching a glowbug in a flask - [+] use canreachbp code when selecting armour to damage as well.... ie newt can't hit your helmet! - [+] BUG: "tunnel doing up" went down! - [+] for monsters:auto raise lf stats to match starting weapons - [+] crash in aigetspelltarget() for CLIMB - [+] should deactiveate all spells on polymorph - [+] allow usage of FEIGNDEATH while prone. - [+] make coprses non-stackable - [+] CRASH in animatedead - [+] shouldn't say 'you attack x from behind' if x has awareness
2012-01-06 11:20:57 +11:00
// us or the player moved into a new map? stop turn.
if ((who->cell->map != map) || (player->cell->map != map)) {
- [+] if you put a water object onto dirt, it should become a mud object instead. - [+] dynamic morale - [+] whenever you fail a moral check, your moral gets a bit lower - [+] opposite if you pass it. - [+] make morale checks depend more on morale - [+] after you flee, become timid - [+] in io.c, show current morale if lorelev is high enough. "looks scared/timid/confident" - [+] implement f_timid: - [+] (will only move into melee range if it is behind you) * [+] checks: - [+] monsters can't attack while prone. always jsut stand up. - [+] call initiatemove even when atatcking - [+] bug: monsters not gaining abilities frmo skills - [+] bug when creating monsters with jobs: "xx looks foolish" etc - [+] tohit penalty for small monster hitting flying or levitating things (lower penalty for levitating) * [+] if you are flying and get hit, you drop to the ground? - [+] make feign death code better for mosnters - [+] moving should cose STAMREGEN points (ie don't regenerate stamina if you move) - [+] maybe: when you finish sprinting, drop stamina to -2 - [+] until it gets back, you can't move at all - [+] bug: stuck in moveto(), after walking up stairs to a new levle - [+] happened again right after "The young wolf starts sprinting! The young wolf flees down the staircase." - [+] was getting stuck in donextturn because we weren't on the plaeyr's map - taketime was returning. - [+] shield bash skill - [+] gain it at shieldlev beginner - [+] costs stamina - [+] pass a skill check based on shield skill and shield value to stun enemy - [+] only works if shield has hardness - [+] only works if you're the same size or larger than the opponent - [+] damages your shield (1d3 hp ?)
2011-10-06 09:08:13 +11:00
break;
}
- [+] allies should always give out info without payment - [+] ....but only about their home level! - [+] f_startmapid - [+] cave entrances should make noise - [+] drip - [+] echoing - [+] cope with multiple f_makesnoise flags on objects (pick one randomly) - [+] showlfstats skill display bug - "MORE" keystroke doesn't fall through. - [+] You impale the chicken! The chicken turns to face you. - [+] shouldn't turn to face if your'e dead! - [+] nulllify spell not populating seenbyplayer - [+] crash in createfakes() - [+] animals hsould still walk onto SHARP objects. - [+] secret doors showing up as empty remembered cells when you look away from them (and have lowish cartography) - [+] don't call remove_deadends on vaults. - [+] when walking down stairs to level 3: - [+] ERROR - stairs link to existing map 3('dungeon L2 (id #3)', depth 2), but it has no free stairs - [+] ie. Level 3 has too many up staircases ? no. 3 on all of them. - [+] FIXED. countstairs() was including too much. now using countmapobs(map, stairtype) instead. - [+] The goblin rogue a half-sized leather armour (null). - [+] fixed crash when you cast rage on someone who is eating. - [+] crash when catching a glowbug in a flask - [+] use canreachbp code when selecting armour to damage as well.... ie newt can't hit your helmet! - [+] BUG: "tunnel doing up" went down! - [+] for monsters:auto raise lf stats to match starting weapons - [+] crash in aigetspelltarget() for CLIMB - [+] should deactiveate all spells on polymorph - [+] allow usage of FEIGNDEATH while prone. - [+] make coprses non-stackable - [+] CRASH in animatedead - [+] shouldn't say 'you attack x from behind' if x has awareness
2012-01-06 11:20:57 +11:00
2011-02-01 06:16:13 +11:00
}
2010-12-02 12:17:54 +11:00
if (hasflag(player->flags, F_ASLEEP)) {
needredraw = B_FALSE;
}
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
if (!isdead(who)) endlfturn(who);
- [+] don't trigger ANY god effects while raging. - [+] when wishing for "power", don't give tech that you can't use. - [+] INFINITE LOOP in timeeffectslf(). - [+] happens when an lf is prone and falls down a hole. - [+] pass search check on natural 20! - [+] undead weapons are normally cursed - [+] walking into a wall now takes time, but can detect secret doors - [+] tiled floors also multiply the effects of slippery objects - [+] wand of dispersal - getting "no lof" - [+] make time debugging for all lfs be an option. - [+] when set, dump the following for each lf: - [+] time (millisecnds) taken for their turn - [+] whether player can see them or not - [+] # screen redraws during their turn - [+] skillchecks - [+] shield check.... - [+] Human checkmod (type Shieldblock): 19(attr)+1(lvm)+0(othmod),totroll=71--More-- - [+] Human: Shieldblock check, rolled 71, need >= 95. (fail) [you takes 1 dam]--More - [+] wondering monsters - they turn up on levels when you go back to them. (but never near the stairs) - [+] only if you haven't been there for a while (50 turns or so?) - [+] (depth*5)% chance for each room without stairs - [+] dark elf - Vell - [+] consumesouls - [+] +int - [+] novice necromancy - [+] metal vuln - [+] don't start player with obects which they are vulnerable to!! - [+] matvuln should hurt you if you touch something made of it! - [+] wands should be made of dragonwood, not metal - [+] diferent kinds of matvuln - - [+] you get hurt more by it - [+] you can't even touch it - [+] use v2 to determine.
2012-07-30 12:35:02 +10:00
if (getoption(OPT_TIMEDEBUG)) {
dbtimeendlf(who);
}
//checkflagpile(who->flags);
- [+] if you put a water object onto dirt, it should become a mud object instead. - [+] dynamic morale - [+] whenever you fail a moral check, your moral gets a bit lower - [+] opposite if you pass it. - [+] make morale checks depend more on morale - [+] after you flee, become timid - [+] in io.c, show current morale if lorelev is high enough. "looks scared/timid/confident" - [+] implement f_timid: - [+] (will only move into melee range if it is behind you) * [+] checks: - [+] monsters can't attack while prone. always jsut stand up. - [+] call initiatemove even when atatcking - [+] bug: monsters not gaining abilities frmo skills - [+] bug when creating monsters with jobs: "xx looks foolish" etc - [+] tohit penalty for small monster hitting flying or levitating things (lower penalty for levitating) * [+] if you are flying and get hit, you drop to the ground? - [+] make feign death code better for mosnters - [+] moving should cose STAMREGEN points (ie don't regenerate stamina if you move) - [+] maybe: when you finish sprinting, drop stamina to -2 - [+] until it gets back, you can't move at all - [+] bug: stuck in moveto(), after walking up stairs to a new levle - [+] happened again right after "The young wolf starts sprinting! The young wolf flees down the staircase." - [+] was getting stuck in donextturn because we weren't on the plaeyr's map - taketime was returning. - [+] shield bash skill - [+] gain it at shieldlev beginner - [+] costs stamina - [+] pass a skill check based on shield skill and shield value to stun enemy - [+] only works if shield has hardness - [+] only works if you're the same size or larger than the opponent - [+] damages your shield (1d3 hp ?)
2011-10-06 09:08:13 +11:00
} // end 'if (who)'
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
for (l = map->lf ; l ; l = l->next) {
//checkflagpile(l->flags);
}
- [+] glorana doesn't like you attacking during Glorana's Peace - [+] make more shops let you donate - [+] bookstore - [+] jewellery store - [+] rename blood hawk to hunting hawk - [+] offering a bribe to creatures should make them move likely to helkp you, AND reset the "auto don't help' flag - [+] change "get lost " message to "get lost, <racename>" if your race is different. - [+] sayphrase() needs a new arg: lifeform_t *talkingto - [+] colours for spell effect. - [+] eg. "the flame dart hits xxx" should use CC_BAD - [+] muddy room - mud should be immutable. - [+] maybe change rage - you lose control totally and just attack anything in sight? - [+] do it. - [+] don't train when enraged - [+] don't hear sounds when enraged - [+] RAGE effects: strength bonus, accuracy bonus, infinite stamina, never flee, - [+] fix bug in skill point calculation - [+] CRASH - someone got their turn BEFORE the player! - [+] new poisontype field - contracttext - [+] hecta's pray effect not working. - [+] adjust food poisioning check difficulty based on food age - [+] check OBHP percentage of max. - [+] >= 80% obhp means -30% difficulty check - [+] ring of unholiness should confer dtvuln holy. - [+] fix colour on spellclouds - [+] fix bug with spellclouds not affecting centre cell. - [+] if you are frozen, heat does extra damage and cold does none. - [+] when frozen, lessen chance of melting. - [+] reduce bite damage of snakes - [+] balaclava should protect from gas - [+] make some floor types (like carpet) be multicoloured - [+] celltype->altcolour - [+] if altcolour is not C_NONE then use it where (x + y) % 2 is true. - [+] don't regain stamina while training - [+] random text in shops - sayphrase needs to cope with lf == null - [+] done - [+] fixed - hecta gifted me with a bamboo staff, but i'm inept with staves! - [+] BUG: in vault.vlt. - [+] "30% chance of door" really means "otherwise empty cell" - [+] need to be able to say "else put a wall here" - [+] so change: - [+] c:type:what[:pct] - [+] to this: - [+] c:type:what[:pct][:alttype:altwhat] - [+] vlegend_t needs - [+] enum VAULTTHING tt2 - [+] char *what2 - [+] they default to VT_NONE, NULL - [+] secret doors should take their fake wall type from the vault spec - [+] vaults need f_celltypeempty/solid flags - [+] add via: solid:xxx in vault def - [+] recycler - [+] donate anything
2012-07-15 15:01:58 +10:00
if (isplayer(who)) {
// in order to force the player's turn to be first,
// monsters will not take any actions until
// playerhasmoved is set
playerhasmoved = B_TRUE;
}
2010-12-02 12:17:54 +11:00
2011-02-01 06:16:13 +11:00
// check for death etc
checkdeath();
2011-02-01 06:16:13 +11:00
//////////////////////////////////
// effects which happen every GAME TICK
// ie. object hp drain etc
//////////////////////////////////
// note: can't use 'who->' below since 'who' might have died
* [+] 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
// and been de-alloced during checkdeath() above if they
// died.
//timeeffectsworld(player->cell->map);
timeeffectsworld(map, 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
* [+] 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
// the previous call to timeeffectsworld might cause the player to
// change levels (ie. falling down through one or more pits).
//
// if this happens, we need to call it again to make sure that ->timespent
// values don't get out of whack.
while (player->cell->map != oldpmap) {
oldpmap = player->cell->map;
timeeffectsworld(player->cell->map, 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
}
2010-12-02 12:17:54 +11:00
}
- [+] chance to resist knockback? - [+] "%s staggers backwards, but stands its ground." - [+] every size over human gives 10% chance to avoid. - [+] monster jobs - [+] demonologist - can summon demons - [+] shaman - summon animals - [+] bezerker - can use rage - [+] necromancer - [+] add f_startjobs to monsters - [+] in makedesc_race, combine skills up until screen width. ie: - [+] Novice Listen, Novice CLimbing - [+] Also combine abilities, ie: - [+] Ability: jump - [+] Ability: xxx - [+] becomes: - [+] Abilities: jump, xxx - [+] more psionic spells! - [+] psionic blast ? daels direct damage to intelligent creatures ( 1 to iq/10 ) - [+] anticipate action: next xxx attacks from target lf against lf always miss - [+] "you easily dodge %s%s attack." - [+] fire should spread on carpetted floors? how to stop it spreading to the whole dungeon ? - [+] implement - [+] test - [+] new poison type: - [+] migraine. sound causes pain (1 per volume?). light spells cause pain too. - [+] can get this from food too. (instead of gastro ?) - [+] mental spell to give a migraine - "brainache" - [+] eating raw meat can give you migraine, or gastro. - [+] make makedesc_race take player lore skills into account - [+] in describerace(), make title be: - [+] Race::glowbug (beginner level knowledge) - [+] LORE LEVELS: - [+] NOVICE: common knowledge - [+] breaths water - [+] BEGINNER: only known if you've studied it a bit - [+] nocturnal, damage resistances/vulns - [+] silentmove - [+] stability - [+] ADEPT: - [+] only know it if you've studied it a LOT - [+] wantsobs - [+] spells - [+] morale - [+] eating habits - [+] when attacking something which is immune to your weapon, warn you. - [+] (if your lorelev >= beginner) - [+] change io.c to use command_t table - [+] when selecting your starting weapon, show damage and accuracy - [+] scourge gains nullify at high levels - [+] bug: ur-gnats not flying - [+] had f_nospells AND f_canwill flight - [+] made f_nospells not affect F_CANWILL, just F_CANCAST - [+] shouldn't be able to cook firebug corpses - [+] fire shoudl make crackling noises - [+] nullify should anger god of magic, and not upset god of battle - [+] nullify shouldn't affect natural flight fof birds - [+] shouldn't remember your surroundings while raging - [+] lfs shouldn't flee from themselves! - [+] change attackverb for touch attacks. - [+] eyebat gaze - [+] "your pair of sunglasses protects you" - [+] but the spellcast is never announced! - [+] fixed. - [+] stun() should make lf lose concentration - [+] fix a few logic errors in gaze protection code. - [+] when i go up level as a scourge, I'm getting "You have gained the ability 'Nullify' (job perk)." - [+] i should be getting You have gained the ability 'Nullify VII' (job perk). - [+] why isn't 'hte power appearing - [+] also when i start typing nullify, it says "It is too powerful for you to cast" - [+] because levabil isn't keeping pw:xxx text - [+] BUG in LEVABIL.
2012-02-28 22:02:02 +11:00
command_t *findcommand(enum COMMAND id) {
command_t *c;
for (c = firstcommand ; c ; c = c->next) {
if (c->id == id) return c;
}
return NULL;
}
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
warning_t *findwarning(char *text) {
warning_t *w;
for (w = firstwarning ; w ; w = w->next) {
if (streq(w->text, text)) return w;
}
return NULL;
}
- [+] add f_nostam to undead. - [+] add nonausea rather than nosmell sometimes. - [+] rats should eb able to smell, but not get nauseated. - [+] fix triumph pleasure for bjorn. must be no monsters within LOF... or within radius ? - [+] and make it very low piety gain. - [+] remember which level we got flags form - [+] flag_t -> fromlev - [+] announce this in getflagcourse - [+] undead qualities - [+] no criticals - [+] don't naturally heal - [+] don't breath - [+] drainlevel(fromlf) - [+] check for dtresist necrotic - [+] fitness saving throw (difficulty is 100 + fromlf's level*6) - [+] call loselevel() - [+] loselevel() - [+] announce. - [+] drop maxhp. - [+] adjust hp appropriately - [+] lose any flags where >fromlev is too high. - [+] handle monk f_hasattack specially. - [+] getmonkdr(level) - [+] getmonkattacks(level) - [+] keep track of what stats we gained and lose them again. - [+] TEST level drain with cursed xp pot - [+] TEST level drain with stats... - [+] prevent drinking when wearing full-face masks like gas mask/football helmet - [+] implement f_COVERSFACE. - [+] add it to objects. - [+] check it when doing caneat() candrink() - [+] up their AC bonus too - [+] large scorpion - [+] hellhound - [+] large primalities - [+] new vault flag: usehabitat:xxx - [+] means "set the habitat of all vault cells to xxx" - [+] real_getrandomob() should be given a CELL, not MAP. - [+] getrandomobofclass() should be given a CELL, not MAP. - [+] use CELL habitat to determine random obs - [+] apply to caves - [+] vault scatter: ignore locked cells (ie. reusable ones) new vaults - [+] dualroom - [+] sauna - vhot! - [+] pentagram and demons new pionic spells - [+] chi bolt - low dam ranged attack 1d4 - [+] chi strike (l4) - add 1d4 explosive damage to melee hits
2012-12-03 16:12:29 +11:00
void getmpdicestats(lifeform_t *lf, int *ndice,int *plus) {
flag_t *f;
if (ndice) *ndice = 0;
if (plus) *plus = 0;
f = hasflag(lf->flags, F_MPDICE);
if (f) {
if (ndice) *ndice = f->val[0];
if (f->val[1] != NA) {
if (plus) *plus = f->val[1];
}
}
}
void gethitdicestats(lifeform_t *lf, int *ndice,int *nsides,int *plus) {
flag_t *f;
if (ndice) *ndice = 0;
if (nsides) *nsides = HITDIESIDES;
if (plus) *plus = 0;
f = hasflag(lf->flags, F_HITDICE);
if (f) {
if (ndice) *ndice = f->val[0];
if (f->val[1] > 0) {
if (plus) *plus = f->val[1];
}
if (f->val[2] > 0) {
if (nsides) *nsides = f->val[2];
}
} else {
if (ndice) *ndice = 1;
if (plus) *plus = 0;
}
}
// TODO: "range" is currently unused.
void gettrrange(int depth, int *min, int *max, int range, int oodok) {
int upchance = 3;
int downchance = 1;
// initial threat rating is the same as dungeon depth.
// ie. dungeon level 1 has TR 1 monsters
// ie. dungeon level 6 has TR 6 monsters
//
// then add an ever-decreasing chance of this difficulty
// incrementing for each level.
- [+] BUG: arrows shouldn't be able to trigger arrow traps!!! - [+] king piranhas shouldn't leap out of the water! - [+] don't catch thrown missiles if it will burden us - [+] in @@, show "accuracy" as a seperate line, not with your weapon. - [+] higher chance of learning psionics on level up. - [+] fix up monster hp - too easy to kill most things in one hit with dam = 4-12, 2 attacks (ie. l6 monk) - [+] dump out all mosnters sorted by hit dice (show avg hp) - [+] fix them up - [+] vault->entertext - ie "you enter a dining room" - [+] make random monster generation go by hitdice AND rarity rr_. IGNORE rarity value. - [+] start with hd = level. sometimes incrase - [+] remove all rarity values from monsters - [+] disorient might need to be higher level than stun - [+] make psionic spell mp cost be level, rather than level^2? - [+] ai bug: - [+] .oO { looking for a target . } .oO { found an enemy target - lfid 256 (human) ! } .oO { default - moving randomly } - [+] reduce cost for higher levle spells agian. - [+] prevent player from eating an ice sheid! - [+] bug when eating from the floor with multiple food items there - [+] assassin's blink spell - teleport behind and facing someone. medium level translocation. - [+] make "chunk of roast meat" be "chunk of roast goblin meat" - [+] and base nutrition on corpse type - [+] highlevel sixth sense should let you turn to face it * [+] add prompt text to msg hist: - [+] sixth sense should only pick up hostile monsters - [+] need a good reason that wizards can't wear armour. - [+] if isplayer(), failure chance depends on any arm/shield penalties - [+] show f_impassable in describeob() - [+] no walking backwards/sideways if you're stuck in a web/vine. can only turn. - [+] objects for protection: - [+] eyeglasses (+vision) - [+] safety goggles - [+] ERROR - stairs link to existing map 0('the surface(0,0) (id #0)', depth 1), but it has no free stairs. - [+] when we restart map regeneration, must first REMOVE referenecs to this map!!! - [+] implemented. - [+] fixed bug with sleep interruption - [+] You attack the helpless the dwarf monk! You flatten the dwarf monk! The dwarf monk loses consciousness. damage's robe protects it. - [+] add stamina cost to other abilities - [+] add descriptions to lore skills - [+] make athletics skill give you more stamina? * [+] monstesr stopping fleeing when they can't see player
2011-09-28 04:56:58 +10:00
*min = depth;
*max = depth;
// adjust max depth for out-of-depth monsters
if (oodok && (onein(upchance))) {
(*max)++;
upchance++;
- [+] BUG: arrows shouldn't be able to trigger arrow traps!!! - [+] king piranhas shouldn't leap out of the water! - [+] don't catch thrown missiles if it will burden us - [+] in @@, show "accuracy" as a seperate line, not with your weapon. - [+] higher chance of learning psionics on level up. - [+] fix up monster hp - too easy to kill most things in one hit with dam = 4-12, 2 attacks (ie. l6 monk) - [+] dump out all mosnters sorted by hit dice (show avg hp) - [+] fix them up - [+] vault->entertext - ie "you enter a dining room" - [+] make random monster generation go by hitdice AND rarity rr_. IGNORE rarity value. - [+] start with hd = level. sometimes incrase - [+] remove all rarity values from monsters - [+] disorient might need to be higher level than stun - [+] make psionic spell mp cost be level, rather than level^2? - [+] ai bug: - [+] .oO { looking for a target . } .oO { found an enemy target - lfid 256 (human) ! } .oO { default - moving randomly } - [+] reduce cost for higher levle spells agian. - [+] prevent player from eating an ice sheid! - [+] bug when eating from the floor with multiple food items there - [+] assassin's blink spell - teleport behind and facing someone. medium level translocation. - [+] make "chunk of roast meat" be "chunk of roast goblin meat" - [+] and base nutrition on corpse type - [+] highlevel sixth sense should let you turn to face it * [+] add prompt text to msg hist: - [+] sixth sense should only pick up hostile monsters - [+] need a good reason that wizards can't wear armour. - [+] if isplayer(), failure chance depends on any arm/shield penalties - [+] show f_impassable in describeob() - [+] no walking backwards/sideways if you're stuck in a web/vine. can only turn. - [+] objects for protection: - [+] eyeglasses (+vision) - [+] safety goggles - [+] ERROR - stairs link to existing map 0('the surface(0,0) (id #0)', depth 1), but it has no free stairs. - [+] when we restart map regeneration, must first REMOVE referenecs to this map!!! - [+] implemented. - [+] fixed bug with sleep interruption - [+] You attack the helpless the dwarf monk! You flatten the dwarf monk! The dwarf monk loses consciousness. damage's robe protects it. - [+] add stamina cost to other abilities - [+] add descriptions to lore skills - [+] make athletics skill give you more stamina? * [+] monstesr stopping fleeing when they can't see player
2011-09-28 04:56:58 +10:00
// repeated chances of incing level
while ((upchance < 10) && (*max < maxmonhitdice) && onein(upchance)) {
(*max)++;
upchance++;
}
}
// adjust min depth for chance of easier monsters
if (onein(downchance)) {
(*min)--;
downchance++;
while ((downchance < 10) && (*min > 1) && onein(downchance)) {
(*min)--;
downchance += 2;
- [+] BUG: arrows shouldn't be able to trigger arrow traps!!! - [+] king piranhas shouldn't leap out of the water! - [+] don't catch thrown missiles if it will burden us - [+] in @@, show "accuracy" as a seperate line, not with your weapon. - [+] higher chance of learning psionics on level up. - [+] fix up monster hp - too easy to kill most things in one hit with dam = 4-12, 2 attacks (ie. l6 monk) - [+] dump out all mosnters sorted by hit dice (show avg hp) - [+] fix them up - [+] vault->entertext - ie "you enter a dining room" - [+] make random monster generation go by hitdice AND rarity rr_. IGNORE rarity value. - [+] start with hd = level. sometimes incrase - [+] remove all rarity values from monsters - [+] disorient might need to be higher level than stun - [+] make psionic spell mp cost be level, rather than level^2? - [+] ai bug: - [+] .oO { looking for a target . } .oO { found an enemy target - lfid 256 (human) ! } .oO { default - moving randomly } - [+] reduce cost for higher levle spells agian. - [+] prevent player from eating an ice sheid! - [+] bug when eating from the floor with multiple food items there - [+] assassin's blink spell - teleport behind and facing someone. medium level translocation. - [+] make "chunk of roast meat" be "chunk of roast goblin meat" - [+] and base nutrition on corpse type - [+] highlevel sixth sense should let you turn to face it * [+] add prompt text to msg hist: - [+] sixth sense should only pick up hostile monsters - [+] need a good reason that wizards can't wear armour. - [+] if isplayer(), failure chance depends on any arm/shield penalties - [+] show f_impassable in describeob() - [+] no walking backwards/sideways if you're stuck in a web/vine. can only turn. - [+] objects for protection: - [+] eyeglasses (+vision) - [+] safety goggles - [+] ERROR - stairs link to existing map 0('the surface(0,0) (id #0)', depth 1), but it has no free stairs. - [+] when we restart map regeneration, must first REMOVE referenecs to this map!!! - [+] implemented. - [+] fixed bug with sleep interruption - [+] You attack the helpless the dwarf monk! You flatten the dwarf monk! The dwarf monk loses consciousness. damage's robe protects it. - [+] add stamina cost to other abilities - [+] add descriptions to lore skills - [+] make athletics skill give you more stamina? * [+] monstesr stopping fleeing when they can't see player
2011-09-28 04:56:58 +10:00
}
}
//*min = mid - range - 10;
//*min = mid - (range*2);
//limit(min, 0, 8);
//*max = mid + range;
- [+] "really attack the helpless something?" - [+] don't show this message if we can't see iT! - [+] also dont count this as a peaceful attack if we can't see it. - [+] missiles missing you should interrupt training! - [+] Why does monk acuracy start at -4?! - [+] godstone of destruction (hammer ) - [+] godstone of life (heart ?) - [+] godstone of mercy (flower?) - [+] revenge/theft (glove?) - [+] godstone of purity (orb ?) - [+] death: of death. (skull ?) - [+] casts infinite death - [+] nature: of Nature (seed ?) - [+] all plants become peaceful - [+] all animals become peaceful - [+] cure all diseases - [+] quench all fires - [+] flowers grow everywhere - [+] summon treants ? - [+] battle: of Battle (make this a horn?) - [+] remove all curses on equipped wep/arm. - [+] bless weapon (if not already done) - [+] nullify all other lfs - [+] super speed attacks ? - [+] warriors appear - [+] magic: of Magic (crown ?) - [+] restore all mp - [+] learn any spell - [+] identify all objects - [+] make Lavax be playable - [+] make Fishfolk be playable - [+] fix bug with wand lof - [+] reduce rarity of wands - [+] getrandomobwithflag() - [+] fix big memleak bug (allocating map cells twice) - [+] infinite loop on win game by defeating a god. - [+] klikirak shouldn't make fire when on plane of gods/ - [+] createhabitat shouldn't be allowed to blank pre-vault (ie. locked) cells - [+] bug: wasn't any lfs in realm of gods - [+] master vault - [+] bottom of dungeon has link to "vaults". - [+] vault stairs needs a key to open it. (special stair type) - [+] stair type: - [+] metal hatch leading down - [+] metal ladder leading up - [+] add new habitat - [+] add new branch - [+] algorithm for making h_vault level: - [+] start with everything a wall - [+] place x number of random rooms or vaults with tag:vault - [+] rooms can't overlap - [+] rooms should be fairly small - [+] IMPORTANT: rooms can't be further than 2 (3?) cells away from other rooms - [+] every room has locked doors (never open entrances) - [+] then go through, and cell which has a room cell near it becomes empty - [+] problems: - [+] rooms have no doors! - [+] rooms are too small!! - [+] populate with monsters (f_rarity) - [+] more chance of "guard" jobs - [+] automatically place chests - [+] 3 levels with: - [+] 1 staircase up/down form each - [+] down stairs require key to open. - [+] first level of vaults: outer vaults - [+] antechamber with vault guardians - [+] second level: inner vaults - [+] last level: master vault - [+] inner chamber with all the godstones - [+] once you pick up one godstone, the others vanish.
2012-04-27 11:23:14 +10:00
// these shouldn't really be needed now
limit(min, 1, NA);
- [+] "really attack the helpless something?" - [+] don't show this message if we can't see iT! - [+] also dont count this as a peaceful attack if we can't see it. - [+] missiles missing you should interrupt training! - [+] Why does monk acuracy start at -4?! - [+] godstone of destruction (hammer ) - [+] godstone of life (heart ?) - [+] godstone of mercy (flower?) - [+] revenge/theft (glove?) - [+] godstone of purity (orb ?) - [+] death: of death. (skull ?) - [+] casts infinite death - [+] nature: of Nature (seed ?) - [+] all plants become peaceful - [+] all animals become peaceful - [+] cure all diseases - [+] quench all fires - [+] flowers grow everywhere - [+] summon treants ? - [+] battle: of Battle (make this a horn?) - [+] remove all curses on equipped wep/arm. - [+] bless weapon (if not already done) - [+] nullify all other lfs - [+] super speed attacks ? - [+] warriors appear - [+] magic: of Magic (crown ?) - [+] restore all mp - [+] learn any spell - [+] identify all objects - [+] make Lavax be playable - [+] make Fishfolk be playable - [+] fix bug with wand lof - [+] reduce rarity of wands - [+] getrandomobwithflag() - [+] fix big memleak bug (allocating map cells twice) - [+] infinite loop on win game by defeating a god. - [+] klikirak shouldn't make fire when on plane of gods/ - [+] createhabitat shouldn't be allowed to blank pre-vault (ie. locked) cells - [+] bug: wasn't any lfs in realm of gods - [+] master vault - [+] bottom of dungeon has link to "vaults". - [+] vault stairs needs a key to open it. (special stair type) - [+] stair type: - [+] metal hatch leading down - [+] metal ladder leading up - [+] add new habitat - [+] add new branch - [+] algorithm for making h_vault level: - [+] start with everything a wall - [+] place x number of random rooms or vaults with tag:vault - [+] rooms can't overlap - [+] rooms should be fairly small - [+] IMPORTANT: rooms can't be further than 2 (3?) cells away from other rooms - [+] every room has locked doors (never open entrances) - [+] then go through, and cell which has a room cell near it becomes empty - [+] problems: - [+] rooms have no doors! - [+] rooms are too small!! - [+] populate with monsters (f_rarity) - [+] more chance of "guard" jobs - [+] automatically place chests - [+] 3 levels with: - [+] 1 staircase up/down form each - [+] down stairs require key to open. - [+] first level of vaults: outer vaults - [+] antechamber with vault guardians - [+] second level: inner vaults - [+] last level: master vault - [+] inner chamber with all the godstones - [+] once you pick up one godstone, the others vanish.
2012-04-27 11:23:14 +10:00
limit(max, *min, maxmonhitdice);
- [+] BUG: arrows shouldn't be able to trigger arrow traps!!! - [+] king piranhas shouldn't leap out of the water! - [+] don't catch thrown missiles if it will burden us - [+] in @@, show "accuracy" as a seperate line, not with your weapon. - [+] higher chance of learning psionics on level up. - [+] fix up monster hp - too easy to kill most things in one hit with dam = 4-12, 2 attacks (ie. l6 monk) - [+] dump out all mosnters sorted by hit dice (show avg hp) - [+] fix them up - [+] vault->entertext - ie "you enter a dining room" - [+] make random monster generation go by hitdice AND rarity rr_. IGNORE rarity value. - [+] start with hd = level. sometimes incrase - [+] remove all rarity values from monsters - [+] disorient might need to be higher level than stun - [+] make psionic spell mp cost be level, rather than level^2? - [+] ai bug: - [+] .oO { looking for a target . } .oO { found an enemy target - lfid 256 (human) ! } .oO { default - moving randomly } - [+] reduce cost for higher levle spells agian. - [+] prevent player from eating an ice sheid! - [+] bug when eating from the floor with multiple food items there - [+] assassin's blink spell - teleport behind and facing someone. medium level translocation. - [+] make "chunk of roast meat" be "chunk of roast goblin meat" - [+] and base nutrition on corpse type - [+] highlevel sixth sense should let you turn to face it * [+] add prompt text to msg hist: - [+] sixth sense should only pick up hostile monsters - [+] need a good reason that wizards can't wear armour. - [+] if isplayer(), failure chance depends on any arm/shield penalties - [+] show f_impassable in describeob() - [+] no walking backwards/sideways if you're stuck in a web/vine. can only turn. - [+] objects for protection: - [+] eyeglasses (+vision) - [+] safety goggles - [+] ERROR - stairs link to existing map 0('the surface(0,0) (id #0)', depth 1), but it has no free stairs. - [+] when we restart map regeneration, must first REMOVE referenecs to this map!!! - [+] implemented. - [+] fixed bug with sleep interruption - [+] You attack the helpless the dwarf monk! You flatten the dwarf monk! The dwarf monk loses consciousness. damage's robe protects it. - [+] add stamina cost to other abilities - [+] add descriptions to lore skills - [+] make athletics skill give you more stamina? * [+] monstesr stopping fleeing when they can't see player
2011-09-28 04:56:58 +10:00
}
2010-12-02 12:17:54 +11:00
- [+] prevent ALL overlapping rooms! - [+] stop running for any non-cosmetic object. - [ ] echoing? - [+] OPTIONS - [+] option_t - [+] id - [+] letter - [+] text - [+] int enabled - [+] int default - [+] next/prev - [+] addoption() - [+] getoption() - [+] dooptions() - [+] list them all (with 'more' for multipages) - [+] pressing a letter toggles it. - [+] "display trails" - [+] make scents be "cosmetic"! - [+] increaes skeleton's vulnerability to falling - [+] missing announcement for bleed() - [+] let rapid ivy cast entangle - [+] caves - [+] new regiontype - [+] new link - [+] new habitat - [+] objectlass rarities - [+] assign obs/mons to habitat - [+] code to dig caves - [+] stairs linking to cave region - [+] when learning random skills: - [+] prefer lower-level skills - [+] onyl learn up to adept level - [+] animate dead crashes if there is no space to place the lifeform! - [+] increase range of charge ability - [+] when you gain techusage, check held objects for conferred flags. - [+] bug: motion scanner working even though i have no tech usage! - [+] warn player before climbing without climb skill (if wisdom is >= average) - [+] regions should have depthmod. - [+] regionthings should be based on DEPTH, not difficulty! - [+] rename firstdungeon to maindungeon - [+] announcearrival broken -always saying 'new area' - [+] don't use ranged attacks when feigning death if target is adjacent - [+] don't say 'argh' if you were beheaded. - [+] The bear cub bites a wooden door with a teeth.--More-- - [+] random levelup skills - only select from skills which we have used? - [+] need to chance f_hasskill to use f->val[2] = used_this_level - [+] when you gain a skill, set f>val[2] = b_false or NA - [+] add setskillused for all skills! - [+] make random levleup only pick from used skills. - [+] TEST - [+] knowledge skills - practice them when you see a new lf of this type. - [+] slithering shoudl hardly ever awaken you - make listen check harder. - [+] don't put fireplaces in corridors. F_ONLYINROOM ? - [+] bug: acid trails from slug disappearing or never appearing? - [+] snails/slugs - [+] killed by salt - [+] vslow - [+] snails have vhigh armourrating - [+] slugs have lots of hp and do more damage - [+] brown/grey 'j' ? - [+] leave slime/acid trails?
2012-01-03 12:21:22 +11:00
int getoption(enum OPTION id) {
option_t *opt;
for (opt = firstoption ; opt ; opt = opt->next) {
if (opt->id == id) {
if (opt->enabled) return B_TRUE;
}
}
return B_FALSE;
}
- [+] bug: "10 flaming arrows ##########\n are no longer on fire" - [+] bug: when wearing no boots: "A small puddle of water hits you!" - [+] animated zombie keeps changing colour * [+] wizard special case: * [+] bug - walked down stiars on top of a monster - [+] change "haslof" to come from a cell - [+] replace WE_NOTSOLID with WE_WALKABLE - [+] show hp/mp in colour - [+] invis potion should always traget user - [+] generic functions to curse/uncurse an object - [+] not prompting for statgain after training properly. fixed. * [+] pressing a key should interrupt resting * [+] implement doublebuffering for screen - [+] don't show attack dmg for mosnters - [+] reduce sprint time - [+] if a monster is chasing someone (ie has F_TARGET), then don't consider cursed ob ells as valid - [+] don't hear noises when in battle - [+] colourise attribs on status bar * [+] askob/askobmulti - [+] "lockpick with what" showing too much * [+] inventoy colours - [+] "masterwork stick" ?! - [+] poison: save to get rid of poison should be HARDER than save to prevent getting it * [+] why are xats starting off carrying objects ? * [+] small chance of catching a thrown missile if you have very high dex * [+] if you polymorphed on purpose, have a "revert to original form" ability - [+] nausea should only affect humanoids - [+] BUG displaying knowledge when it goes longer than 1 screen. - [+] monsters are attacking each other again! fixed? * [+] BUG: when i load a game, i gain all knowledge! - [+] more pole weapons * [+] disarming weapons * [+] tripping weapons * [+] MORE ISSUES with askobject * [+] validatelf - [+] fix bug with poison triggering too often - [+] chance of retching when nauseated. no hp loss, but takes time. - [+] monsters shouldn't throw stuff if they don't have lof. - [+] fix crash in knockbackob->fireat, caused by thrower == null - [+] let high powered KNOCK knockback creatures again ? - [+] test function to dump out: dungeonlev which_monsters_can_appear - [+] firstaid tells you how long poison will last and whether it's lifethreatenting? * [+] high level listen gives more info - [+] wind shield spell - [+] repels all missiles of speed <= power - [+] variable level spells - [+] F_VARLEVEL - [+] when you cast, say "cast at how much power" with choices "Power II (5 MP)" - [+] show in spell list: "5-10 MP" - [+] replace ARBOOST with MAGICARMOUR - [+] needan() * [+] move psychic shield check into losehp - [+] high level detectlife should show actual lf glyphs - [+] control which jobs can learn which new skills. - [+] F_CANLEARN xxx - [+] remember last target from spells - [+] askcoords = does lf for lastlftarg exist? if not, set it to null - [+] if so, start with it - [+] when you pick one, set it. - [+] F_SHIELDPENALTY - modifies accuracy. * [+] stop wizards from using shields
2011-04-06 17:27:55 +10:00
enum COLOUR getpctcol(float num, float max) {
float pct;
pct = (num / max) * 100;
if (pct > 100) {
- [+] Go to 256 colour mode! - [+] enable it - [+] adjust colour enum definitions - [+] adjust usage of colour enums in *.c - [+] redo celltype colours - [+] redo all lf colours in data.c - [+] redo all object colours in data.c - [+] fix potioncolours etc - [+] get background colours working again..... - [+] You walk down the staircase... Invalid racename 'random' in vault monsterzoo - [+] gaining/losing god bonus - only announce first one you lose/gain! - [+] knockout bugs: - [+] "you knock out the pixie"... then there' s pixie corpse. - [+] shouldn't be able to KO robots! - [+] don't say "you kill baba yaga's hut", say "you defeat xxx" - [+] alignment change - [+] should become evil if you worship hecta - [+] ...and good if you worship glorana - [+] -15% xp forever. - [+] shoudl become prone when hit by falling door trap. - [+] TEMPERATURE - [+] habitat->basetemperature - [+] VCOLD = <=0 - [+] COLD=1-11 - [+] COOL=12-18 - [+] AVERAGE = 19-22 - [+] WARM=23-29 - [+] HOT=30-35 - [+] VHOT=36+ - [+] getcelltemperature() - [+] start with habitat temperature - [+] adding/removing/moving nearby fire makes cells hotter - [+] adding/removing/moving nearby blizzards, hailstorms, ice etc make cells cooler - [+] getlftemp() - [+] start with getcelltemp - [+] adjust for warm/cold blood, resistances, etc - [+] hot effects - [+] stamina is used more quickly - [+] ice melts very fast (turns to water) - [+] food goes bad very quickly - [+] things made of ice take damage every turn. in startlfturn() ? - [+] cold effects - [+] exposed body parts give penalties to accuracy - [+] -2 to -4 per exposed body part (ie. max -14, -21, -28) - [+] no effect on furred things like bears. make them cold-resistant or immune. * [+] medium chance to shiver... chance to drop weapons * [+] low chance to catch cold (check cold damage code) - [+] nothing ever melts - [+] food never goes bad - [+] water freezes( turns to ice) - [+] things made of fire take _extra_ damage (in attack.c) - [+] Show YOUR temperature in @@ - [+] Show other's temp in @@ if our lore is high enough - [+] notify when temperature changes. - [+] just like igniting other fires, fires should deal fire damage to surrounding cells - [+] heat/cold should affect SURRONDING cells too. - [+] maybe: instead of checking cell temp every time, recalc cell temp whenever: - [+] create cells with habitat base temperature - [+] we add a new object - [+] we move an object - [+] we remove an object - [+] SAVE cell temperature now. - [+] show cold/hot in statusbar. - [+] cold announcement not working. - [+] change glaciate: - [+] create "unnatural coldness" object - [+] cold snap: (l2) - [+] create "unnatural coldness" in a radius - [+] heatwave (l2) or "oppressive heat" - [+] create "unnatural heat" in a radius - [+] add fur coats to creatures (ie. resistcold) - [+] ice cave level - [+] walls = ice. - [+] floor = metal - [+] creation similar to swamp: - [+] make dungeon - [+] change solid walls to ice - [+] limit room size to small. - [+] floor = snow - [+] temperature - [+] base temperature is cold - [+] ice-themed monsters - [+] ice-themed objects
2012-11-27 21:27:54 +11:00
return C_LIGHTBLUE;
- [+] bug: "10 flaming arrows ##########\n are no longer on fire" - [+] bug: when wearing no boots: "A small puddle of water hits you!" - [+] animated zombie keeps changing colour * [+] wizard special case: * [+] bug - walked down stiars on top of a monster - [+] change "haslof" to come from a cell - [+] replace WE_NOTSOLID with WE_WALKABLE - [+] show hp/mp in colour - [+] invis potion should always traget user - [+] generic functions to curse/uncurse an object - [+] not prompting for statgain after training properly. fixed. * [+] pressing a key should interrupt resting * [+] implement doublebuffering for screen - [+] don't show attack dmg for mosnters - [+] reduce sprint time - [+] if a monster is chasing someone (ie has F_TARGET), then don't consider cursed ob ells as valid - [+] don't hear noises when in battle - [+] colourise attribs on status bar * [+] askob/askobmulti - [+] "lockpick with what" showing too much * [+] inventoy colours - [+] "masterwork stick" ?! - [+] poison: save to get rid of poison should be HARDER than save to prevent getting it * [+] why are xats starting off carrying objects ? * [+] small chance of catching a thrown missile if you have very high dex * [+] if you polymorphed on purpose, have a "revert to original form" ability - [+] nausea should only affect humanoids - [+] BUG displaying knowledge when it goes longer than 1 screen. - [+] monsters are attacking each other again! fixed? * [+] BUG: when i load a game, i gain all knowledge! - [+] more pole weapons * [+] disarming weapons * [+] tripping weapons * [+] MORE ISSUES with askobject * [+] validatelf - [+] fix bug with poison triggering too often - [+] chance of retching when nauseated. no hp loss, but takes time. - [+] monsters shouldn't throw stuff if they don't have lof. - [+] fix crash in knockbackob->fireat, caused by thrower == null - [+] let high powered KNOCK knockback creatures again ? - [+] test function to dump out: dungeonlev which_monsters_can_appear - [+] firstaid tells you how long poison will last and whether it's lifethreatenting? * [+] high level listen gives more info - [+] wind shield spell - [+] repels all missiles of speed <= power - [+] variable level spells - [+] F_VARLEVEL - [+] when you cast, say "cast at how much power" with choices "Power II (5 MP)" - [+] show in spell list: "5-10 MP" - [+] replace ARBOOST with MAGICARMOUR - [+] needan() * [+] move psychic shield check into losehp - [+] high level detectlife should show actual lf glyphs - [+] control which jobs can learn which new skills. - [+] F_CANLEARN xxx - [+] remember last target from spells - [+] askcoords = does lf for lastlftarg exist? if not, set it to null - [+] if so, start with it - [+] when you pick one, set it. - [+] F_SHIELDPENALTY - modifies accuracy. * [+] stop wizards from using shields
2011-04-06 17:27:55 +10:00
} else if (pct == 100) {
- [+] Go to 256 colour mode! - [+] enable it - [+] adjust colour enum definitions - [+] adjust usage of colour enums in *.c - [+] redo celltype colours - [+] redo all lf colours in data.c - [+] redo all object colours in data.c - [+] fix potioncolours etc - [+] get background colours working again..... - [+] You walk down the staircase... Invalid racename 'random' in vault monsterzoo - [+] gaining/losing god bonus - only announce first one you lose/gain! - [+] knockout bugs: - [+] "you knock out the pixie"... then there' s pixie corpse. - [+] shouldn't be able to KO robots! - [+] don't say "you kill baba yaga's hut", say "you defeat xxx" - [+] alignment change - [+] should become evil if you worship hecta - [+] ...and good if you worship glorana - [+] -15% xp forever. - [+] shoudl become prone when hit by falling door trap. - [+] TEMPERATURE - [+] habitat->basetemperature - [+] VCOLD = <=0 - [+] COLD=1-11 - [+] COOL=12-18 - [+] AVERAGE = 19-22 - [+] WARM=23-29 - [+] HOT=30-35 - [+] VHOT=36+ - [+] getcelltemperature() - [+] start with habitat temperature - [+] adding/removing/moving nearby fire makes cells hotter - [+] adding/removing/moving nearby blizzards, hailstorms, ice etc make cells cooler - [+] getlftemp() - [+] start with getcelltemp - [+] adjust for warm/cold blood, resistances, etc - [+] hot effects - [+] stamina is used more quickly - [+] ice melts very fast (turns to water) - [+] food goes bad very quickly - [+] things made of ice take damage every turn. in startlfturn() ? - [+] cold effects - [+] exposed body parts give penalties to accuracy - [+] -2 to -4 per exposed body part (ie. max -14, -21, -28) - [+] no effect on furred things like bears. make them cold-resistant or immune. * [+] medium chance to shiver... chance to drop weapons * [+] low chance to catch cold (check cold damage code) - [+] nothing ever melts - [+] food never goes bad - [+] water freezes( turns to ice) - [+] things made of fire take _extra_ damage (in attack.c) - [+] Show YOUR temperature in @@ - [+] Show other's temp in @@ if our lore is high enough - [+] notify when temperature changes. - [+] just like igniting other fires, fires should deal fire damage to surrounding cells - [+] heat/cold should affect SURRONDING cells too. - [+] maybe: instead of checking cell temp every time, recalc cell temp whenever: - [+] create cells with habitat base temperature - [+] we add a new object - [+] we move an object - [+] we remove an object - [+] SAVE cell temperature now. - [+] show cold/hot in statusbar. - [+] cold announcement not working. - [+] change glaciate: - [+] create "unnatural coldness" object - [+] cold snap: (l2) - [+] create "unnatural coldness" in a radius - [+] heatwave (l2) or "oppressive heat" - [+] create "unnatural heat" in a radius - [+] add fur coats to creatures (ie. resistcold) - [+] ice cave level - [+] walls = ice. - [+] floor = metal - [+] creation similar to swamp: - [+] make dungeon - [+] change solid walls to ice - [+] limit room size to small. - [+] floor = snow - [+] temperature - [+] base temperature is cold - [+] ice-themed monsters - [+] ice-themed objects
2012-11-27 21:27:54 +11:00
return C_LIGHTGREEN;
- [+] bug: "10 flaming arrows ##########\n are no longer on fire" - [+] bug: when wearing no boots: "A small puddle of water hits you!" - [+] animated zombie keeps changing colour * [+] wizard special case: * [+] bug - walked down stiars on top of a monster - [+] change "haslof" to come from a cell - [+] replace WE_NOTSOLID with WE_WALKABLE - [+] show hp/mp in colour - [+] invis potion should always traget user - [+] generic functions to curse/uncurse an object - [+] not prompting for statgain after training properly. fixed. * [+] pressing a key should interrupt resting * [+] implement doublebuffering for screen - [+] don't show attack dmg for mosnters - [+] reduce sprint time - [+] if a monster is chasing someone (ie has F_TARGET), then don't consider cursed ob ells as valid - [+] don't hear noises when in battle - [+] colourise attribs on status bar * [+] askob/askobmulti - [+] "lockpick with what" showing too much * [+] inventoy colours - [+] "masterwork stick" ?! - [+] poison: save to get rid of poison should be HARDER than save to prevent getting it * [+] why are xats starting off carrying objects ? * [+] small chance of catching a thrown missile if you have very high dex * [+] if you polymorphed on purpose, have a "revert to original form" ability - [+] nausea should only affect humanoids - [+] BUG displaying knowledge when it goes longer than 1 screen. - [+] monsters are attacking each other again! fixed? * [+] BUG: when i load a game, i gain all knowledge! - [+] more pole weapons * [+] disarming weapons * [+] tripping weapons * [+] MORE ISSUES with askobject * [+] validatelf - [+] fix bug with poison triggering too often - [+] chance of retching when nauseated. no hp loss, but takes time. - [+] monsters shouldn't throw stuff if they don't have lof. - [+] fix crash in knockbackob->fireat, caused by thrower == null - [+] let high powered KNOCK knockback creatures again ? - [+] test function to dump out: dungeonlev which_monsters_can_appear - [+] firstaid tells you how long poison will last and whether it's lifethreatenting? * [+] high level listen gives more info - [+] wind shield spell - [+] repels all missiles of speed <= power - [+] variable level spells - [+] F_VARLEVEL - [+] when you cast, say "cast at how much power" with choices "Power II (5 MP)" - [+] show in spell list: "5-10 MP" - [+] replace ARBOOST with MAGICARMOUR - [+] needan() * [+] move psychic shield check into losehp - [+] high level detectlife should show actual lf glyphs - [+] control which jobs can learn which new skills. - [+] F_CANLEARN xxx - [+] remember last target from spells - [+] askcoords = does lf for lastlftarg exist? if not, set it to null - [+] if so, start with it - [+] when you pick one, set it. - [+] F_SHIELDPENALTY - modifies accuracy. * [+] stop wizards from using shields
2011-04-06 17:27:55 +10:00
} else if (pct >= 75) {
return C_GREEN;
} else if (pct >= 50) {
- [+] Go to 256 colour mode! - [+] enable it - [+] adjust colour enum definitions - [+] adjust usage of colour enums in *.c - [+] redo celltype colours - [+] redo all lf colours in data.c - [+] redo all object colours in data.c - [+] fix potioncolours etc - [+] get background colours working again..... - [+] You walk down the staircase... Invalid racename 'random' in vault monsterzoo - [+] gaining/losing god bonus - only announce first one you lose/gain! - [+] knockout bugs: - [+] "you knock out the pixie"... then there' s pixie corpse. - [+] shouldn't be able to KO robots! - [+] don't say "you kill baba yaga's hut", say "you defeat xxx" - [+] alignment change - [+] should become evil if you worship hecta - [+] ...and good if you worship glorana - [+] -15% xp forever. - [+] shoudl become prone when hit by falling door trap. - [+] TEMPERATURE - [+] habitat->basetemperature - [+] VCOLD = <=0 - [+] COLD=1-11 - [+] COOL=12-18 - [+] AVERAGE = 19-22 - [+] WARM=23-29 - [+] HOT=30-35 - [+] VHOT=36+ - [+] getcelltemperature() - [+] start with habitat temperature - [+] adding/removing/moving nearby fire makes cells hotter - [+] adding/removing/moving nearby blizzards, hailstorms, ice etc make cells cooler - [+] getlftemp() - [+] start with getcelltemp - [+] adjust for warm/cold blood, resistances, etc - [+] hot effects - [+] stamina is used more quickly - [+] ice melts very fast (turns to water) - [+] food goes bad very quickly - [+] things made of ice take damage every turn. in startlfturn() ? - [+] cold effects - [+] exposed body parts give penalties to accuracy - [+] -2 to -4 per exposed body part (ie. max -14, -21, -28) - [+] no effect on furred things like bears. make them cold-resistant or immune. * [+] medium chance to shiver... chance to drop weapons * [+] low chance to catch cold (check cold damage code) - [+] nothing ever melts - [+] food never goes bad - [+] water freezes( turns to ice) - [+] things made of fire take _extra_ damage (in attack.c) - [+] Show YOUR temperature in @@ - [+] Show other's temp in @@ if our lore is high enough - [+] notify when temperature changes. - [+] just like igniting other fires, fires should deal fire damage to surrounding cells - [+] heat/cold should affect SURRONDING cells too. - [+] maybe: instead of checking cell temp every time, recalc cell temp whenever: - [+] create cells with habitat base temperature - [+] we add a new object - [+] we move an object - [+] we remove an object - [+] SAVE cell temperature now. - [+] show cold/hot in statusbar. - [+] cold announcement not working. - [+] change glaciate: - [+] create "unnatural coldness" object - [+] cold snap: (l2) - [+] create "unnatural coldness" in a radius - [+] heatwave (l2) or "oppressive heat" - [+] create "unnatural heat" in a radius - [+] add fur coats to creatures (ie. resistcold) - [+] ice cave level - [+] walls = ice. - [+] floor = metal - [+] creation similar to swamp: - [+] make dungeon - [+] change solid walls to ice - [+] limit room size to small. - [+] floor = snow - [+] temperature - [+] base temperature is cold - [+] ice-themed monsters - [+] ice-themed objects
2012-11-27 21:27:54 +11:00
return C_DARKYELLOW;
- [+] bug: "10 flaming arrows ##########\n are no longer on fire" - [+] bug: when wearing no boots: "A small puddle of water hits you!" - [+] animated zombie keeps changing colour * [+] wizard special case: * [+] bug - walked down stiars on top of a monster - [+] change "haslof" to come from a cell - [+] replace WE_NOTSOLID with WE_WALKABLE - [+] show hp/mp in colour - [+] invis potion should always traget user - [+] generic functions to curse/uncurse an object - [+] not prompting for statgain after training properly. fixed. * [+] pressing a key should interrupt resting * [+] implement doublebuffering for screen - [+] don't show attack dmg for mosnters - [+] reduce sprint time - [+] if a monster is chasing someone (ie has F_TARGET), then don't consider cursed ob ells as valid - [+] don't hear noises when in battle - [+] colourise attribs on status bar * [+] askob/askobmulti - [+] "lockpick with what" showing too much * [+] inventoy colours - [+] "masterwork stick" ?! - [+] poison: save to get rid of poison should be HARDER than save to prevent getting it * [+] why are xats starting off carrying objects ? * [+] small chance of catching a thrown missile if you have very high dex * [+] if you polymorphed on purpose, have a "revert to original form" ability - [+] nausea should only affect humanoids - [+] BUG displaying knowledge when it goes longer than 1 screen. - [+] monsters are attacking each other again! fixed? * [+] BUG: when i load a game, i gain all knowledge! - [+] more pole weapons * [+] disarming weapons * [+] tripping weapons * [+] MORE ISSUES with askobject * [+] validatelf - [+] fix bug with poison triggering too often - [+] chance of retching when nauseated. no hp loss, but takes time. - [+] monsters shouldn't throw stuff if they don't have lof. - [+] fix crash in knockbackob->fireat, caused by thrower == null - [+] let high powered KNOCK knockback creatures again ? - [+] test function to dump out: dungeonlev which_monsters_can_appear - [+] firstaid tells you how long poison will last and whether it's lifethreatenting? * [+] high level listen gives more info - [+] wind shield spell - [+] repels all missiles of speed <= power - [+] variable level spells - [+] F_VARLEVEL - [+] when you cast, say "cast at how much power" with choices "Power II (5 MP)" - [+] show in spell list: "5-10 MP" - [+] replace ARBOOST with MAGICARMOUR - [+] needan() * [+] move psychic shield check into losehp - [+] high level detectlife should show actual lf glyphs - [+] control which jobs can learn which new skills. - [+] F_CANLEARN xxx - [+] remember last target from spells - [+] askcoords = does lf for lastlftarg exist? if not, set it to null - [+] if so, start with it - [+] when you pick one, set it. - [+] F_SHIELDPENALTY - modifies accuracy. * [+] stop wizards from using shields
2011-04-06 17:27:55 +10:00
} else if (pct >= 25) {
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
return C_YELLOW;
- [+] bug: "10 flaming arrows ##########\n are no longer on fire" - [+] bug: when wearing no boots: "A small puddle of water hits you!" - [+] animated zombie keeps changing colour * [+] wizard special case: * [+] bug - walked down stiars on top of a monster - [+] change "haslof" to come from a cell - [+] replace WE_NOTSOLID with WE_WALKABLE - [+] show hp/mp in colour - [+] invis potion should always traget user - [+] generic functions to curse/uncurse an object - [+] not prompting for statgain after training properly. fixed. * [+] pressing a key should interrupt resting * [+] implement doublebuffering for screen - [+] don't show attack dmg for mosnters - [+] reduce sprint time - [+] if a monster is chasing someone (ie has F_TARGET), then don't consider cursed ob ells as valid - [+] don't hear noises when in battle - [+] colourise attribs on status bar * [+] askob/askobmulti - [+] "lockpick with what" showing too much * [+] inventoy colours - [+] "masterwork stick" ?! - [+] poison: save to get rid of poison should be HARDER than save to prevent getting it * [+] why are xats starting off carrying objects ? * [+] small chance of catching a thrown missile if you have very high dex * [+] if you polymorphed on purpose, have a "revert to original form" ability - [+] nausea should only affect humanoids - [+] BUG displaying knowledge when it goes longer than 1 screen. - [+] monsters are attacking each other again! fixed? * [+] BUG: when i load a game, i gain all knowledge! - [+] more pole weapons * [+] disarming weapons * [+] tripping weapons * [+] MORE ISSUES with askobject * [+] validatelf - [+] fix bug with poison triggering too often - [+] chance of retching when nauseated. no hp loss, but takes time. - [+] monsters shouldn't throw stuff if they don't have lof. - [+] fix crash in knockbackob->fireat, caused by thrower == null - [+] let high powered KNOCK knockback creatures again ? - [+] test function to dump out: dungeonlev which_monsters_can_appear - [+] firstaid tells you how long poison will last and whether it's lifethreatenting? * [+] high level listen gives more info - [+] wind shield spell - [+] repels all missiles of speed <= power - [+] variable level spells - [+] F_VARLEVEL - [+] when you cast, say "cast at how much power" with choices "Power II (5 MP)" - [+] show in spell list: "5-10 MP" - [+] replace ARBOOST with MAGICARMOUR - [+] needan() * [+] move psychic shield check into losehp - [+] high level detectlife should show actual lf glyphs - [+] control which jobs can learn which new skills. - [+] F_CANLEARN xxx - [+] remember last target from spells - [+] askcoords = does lf for lastlftarg exist? if not, set it to null - [+] if so, start with it - [+] when you pick one, set it. - [+] F_SHIELDPENALTY - modifies accuracy. * [+] stop wizards from using shields
2011-04-06 17:27:55 +10:00
} else { // ie. < 25%
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
return C_RED;
- [+] bug: "10 flaming arrows ##########\n are no longer on fire" - [+] bug: when wearing no boots: "A small puddle of water hits you!" - [+] animated zombie keeps changing colour * [+] wizard special case: * [+] bug - walked down stiars on top of a monster - [+] change "haslof" to come from a cell - [+] replace WE_NOTSOLID with WE_WALKABLE - [+] show hp/mp in colour - [+] invis potion should always traget user - [+] generic functions to curse/uncurse an object - [+] not prompting for statgain after training properly. fixed. * [+] pressing a key should interrupt resting * [+] implement doublebuffering for screen - [+] don't show attack dmg for mosnters - [+] reduce sprint time - [+] if a monster is chasing someone (ie has F_TARGET), then don't consider cursed ob ells as valid - [+] don't hear noises when in battle - [+] colourise attribs on status bar * [+] askob/askobmulti - [+] "lockpick with what" showing too much * [+] inventoy colours - [+] "masterwork stick" ?! - [+] poison: save to get rid of poison should be HARDER than save to prevent getting it * [+] why are xats starting off carrying objects ? * [+] small chance of catching a thrown missile if you have very high dex * [+] if you polymorphed on purpose, have a "revert to original form" ability - [+] nausea should only affect humanoids - [+] BUG displaying knowledge when it goes longer than 1 screen. - [+] monsters are attacking each other again! fixed? * [+] BUG: when i load a game, i gain all knowledge! - [+] more pole weapons * [+] disarming weapons * [+] tripping weapons * [+] MORE ISSUES with askobject * [+] validatelf - [+] fix bug with poison triggering too often - [+] chance of retching when nauseated. no hp loss, but takes time. - [+] monsters shouldn't throw stuff if they don't have lof. - [+] fix crash in knockbackob->fireat, caused by thrower == null - [+] let high powered KNOCK knockback creatures again ? - [+] test function to dump out: dungeonlev which_monsters_can_appear - [+] firstaid tells you how long poison will last and whether it's lifethreatenting? * [+] high level listen gives more info - [+] wind shield spell - [+] repels all missiles of speed <= power - [+] variable level spells - [+] F_VARLEVEL - [+] when you cast, say "cast at how much power" with choices "Power II (5 MP)" - [+] show in spell list: "5-10 MP" - [+] replace ARBOOST with MAGICARMOUR - [+] needan() * [+] move psychic shield check into losehp - [+] high level detectlife should show actual lf glyphs - [+] control which jobs can learn which new skills. - [+] F_CANLEARN xxx - [+] remember last target from spells - [+] askcoords = does lf for lastlftarg exist? if not, set it to null - [+] if so, start with it - [+] when you pick one, set it. - [+] F_SHIELDPENALTY - modifies accuracy. * [+] stop wizards from using shields
2011-04-06 17:27:55 +10:00
}
return C_ORANGE;
}
- [+] prevent 'A' (forceattack) behind you - [+] replace: - [+] Something critically savages your body. Your uncursed suit of ring mail protects you. Your suit of ring mail is damaged! - [+] with: - [+] Something critically savages your suit of ring mail. - [+] Your suit of ring mail is damaged! - [+] tremorsense shouldn't see flying creatures - [+] rename blink to "bamf" - [+] add F_containsmeat for non-vegetarian foods - [+] use this in vegetarian checks instead of mt_Flesh - [+] "what goes up" spell - [+] "equal and opposite" spell - [+] why didn't cyborg ninja start with weapon weilded? - [+] getbestwepon - accuracy was counting for too much. have changed calculation. - [+] why is wizard's staff not enchanted??? - [+] elephant race - Pachyon or Mammoan - [+] bonus - [+] Leather skin - [+] str++ - [+] photo mem - [+] high listen skill - [+] good smell - [+] penalty - [+] slow movement - [+] no armour on ears - [+] agi- - [+] low eyesight - [+] vuln to sonic - [+] vegetarian - [+] other - [+] large - [+] throw salt to blind targets - [+] if you learn a new spell school skill while game is in progress, gain a 1st level spell too. - [+] for random roast meat, always use base race - [+] ie. orc, not "elite orc" - [+] (ie. human, not 'town guard') - [+] remove "prepare food" skill. - [+] use "cook" instead - [+] startskill should be a modifier, not absolute. - [+] ie. elf can have sk_ranged, so can hunter. these will now stack. - [+] chance for ai to use a firearm is lowered based on firearm accuracy - [+] bug: massively high amount of skillxp needed for a point - [+] firearms should do more damage at pointblank range. - [+] icicle bugs - getrandomadjcell for knockback failing - [+] still a bug with firearm accuracy updating - [+] 2 squares away, move towards enemy - it doesn't update! - [+] display all valid hits in brown - [+] wear melted wax in ears to reduce sonic damage - [+] ranged skillls - [+] adp - [+] fast reloading - [+] exp - [+] fire through lifeforms! lof_wallstop instead of lof_need - [+] mas - [+] extra dam. - [+] object HP issue: - [+] head: b - an uncursed helmet [AR:3] [110%] - [+] body: c - an uncursed suit of ring mail [AR:6] [173%] - [+] hands: d - an uncursed battered pair of gauntlets [AR:2] [86%] - [+] are objects taking negative damage?? - [+] have put an assertion in to check - [+] wait for it to happen again... - [+] add hitchance to askcoords when throwing/shooting - [+] code it - [+] test for throw - [+] add for telekeniis too - [+] add for guns: - [+] "targetted: something [x%]" - [+] "bow->Target->xxx [x%]" - [+] show gun target on botl - [+] redo throw accuracy: - [+] 100 to hit yourself - [+] apply per-cell penalty based on: - [+] throwing / ranged skill (more) - [+] AGI (lesser) - [+] wetsuit description not showing dtresist cold!! - [+] hunter job - [+] wetsuit (covers multiple body parts), prot from cold - [+] announce bleeding damage from injuries - [+] only mark _weapons_ as 'tried' when weilding them - [+] change random items: - [+] fix wantrr bug - [+] test... - [+] new function: enum RARITY pickrarity() - [+] check for all wantrr = xxx and use pickrarity instead. - [+] give classes a RR_RARITY - [+] common - [+] weapon / armour / money / missile - [+] furniture - [+] misc - [+] rock - [+] uncommon - [+] potion / scroll / food - [+] rare - [+] trap - [+] tech/tool - [+] dfeature (pentagram, vending machine, etc) - [+] vrare - [+] wand - [+] ring - [+] book * [+] rewrite wrappers * [+] marge getrandomobofclass and getrandomob - [+] bug: telling allies to attack something they can't see. need a msg for this. - [+] Norman->Attack->A young hawk [flying, facing NE] - [+] Cancelled. - [+] bug: allies not regaining hp when asleep! fixed. - [+] you can now always 'see' your allies if you have LOH - [+] ie. scannedcell - [+] ie. cansee - [+] player luck should cause better random item creation, and easier monsters - [+] pickrr() needs arg to say what it is for (vault , ob, lf) - [+] meals have special effects. eg: - [+] easy: - [+] mushroom + water = mushroom soup = restore a little stamina - [+] tomato + water = tomato soup = restore a little stamina - [+] apple + stone = fruit juice (don't kill the stone) - [+] cheese + bread = cheese sandwich = restore all food and stamina - [+] rum + chocolate = rum ball = cure pain, restore some hp - [+] med: - [+] corpse + water + salt = jerky - [+] mushroom + water + beef = beef strogonoff = filling, temporary Fitness boost - [+] garlic + bread + clover = garlic bread = produce stench like a trogolodyte - [+] bread + meat + tomato = hot dog = temporary strength - [+] water + sugar + 2 berries = potion of red cordial = speed boost - [+] hard - [+] peanut + stone + salt + bread = peanut butter sandwich = super filling, restore all stamina, temp fitness boost - [+] rum + chocolate + sugar + berry = fruit cake = restores all stamina and hp and mp - [+] implement recipe_t - [+] int ningerdients - [+] enum OBTYPE ingredient[MAXINGREDS] - [+] int count[MAXINGREDS] - [+] int cosumeingredient[MAXINGREDS] (boolean) - [+] makedesc_ob should show the recipe for it, if cooking skill is high enough - [+] cooking skill determines how many ingredients you can use - [+] ie. beginner = you can make recipes which need 2 ingredients - [+] redo "cook" ability. - [+] can combine ingredients using recipes to make meals - [+] ingredients must be known! - [+] chef job - [+] attr - [+] gtaverage agility - [+] low fitnesss - [+] objects: - [+] meat cleaver (slashing, low acc, high crit) - [+] apron (rubber, low protection) - [+] chef hat (cloth, low protection) - [+] butane torch (flambe on adjacent lifeform) - [+] abilities - [+] rage at lv3 * [+] skills - [+] chef job - [+] attr - [+] gtaverage agility - [+] low fitnesss - [+] objects: - [+] meat cleaver (slashing, low acc, high crit) - [+] apron (rubber, low protection) - [+] chef hat (cloth, low protection) - [+] butane torch (flambe on adjacent lifeform) - [+] abilities - [+] rage at lv3 * [+] skills
2011-11-15 05:21:40 +11:00
char getpctletter(float num, float max) {
float pct;
pct = (num / max) * 100;
if (pct >= 100) {
return 'S';
} else if (pct >= 85) {
return 'A';
} else if (pct >= 70) {
return 'B';
} else if (pct >= 55) {
return 'C';
} else if (pct >= 40) {
return 'D';
} else { // ie. < 40%
return 'E';
}
return '?';
}
2011-02-01 06:16:13 +11:00
2010-12-02 12:17:54 +11:00
int init(void) {
int i;
2010-12-02 12:17:54 +11:00
// random numbers
2022-08-28 14:06:22 +10:00
if (seed) {
srand(seed);
} else {
srand(time(NULL));
}
//sranddev();
2010-12-02 12:17:54 +11:00
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
// preset conditions
initcondv(&ccwalkable, CC_WALKABLE, B_TRUE, NA,
CC_NONE);
initcondv(&ccroom, CC_ISROOM, B_TRUE, NA,
CC_NONE);
initcondv(&ccwalkableroom, CC_WALKABLE, B_TRUE, NA,
CC_ISROOM, B_TRUE, NA,
CC_NONE);
// precalc sin/cos
for (i = 0; i < 360; i++) {
double rads;
rads = i * (M_PI / 180);
presin[i] = sin(rads);
precos[i] = cos(rads);
}
gamemode = GM_INIT;
* [+] 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
playerglyph.ch = '@';
playerglyph.colour = C_GREY;
tempglyph.ch = '@';
tempglyph.colour = C_GREY;
* [+] 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
inithiscores();
* [+] 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
// load npc names
loadnpcnames();
2011-03-04 12:22:36 +11:00
inittext();
- [+] prevent ALL overlapping rooms! - [+] stop running for any non-cosmetic object. - [ ] echoing? - [+] OPTIONS - [+] option_t - [+] id - [+] letter - [+] text - [+] int enabled - [+] int default - [+] next/prev - [+] addoption() - [+] getoption() - [+] dooptions() - [+] list them all (with 'more' for multipages) - [+] pressing a letter toggles it. - [+] "display trails" - [+] make scents be "cosmetic"! - [+] increaes skeleton's vulnerability to falling - [+] missing announcement for bleed() - [+] let rapid ivy cast entangle - [+] caves - [+] new regiontype - [+] new link - [+] new habitat - [+] objectlass rarities - [+] assign obs/mons to habitat - [+] code to dig caves - [+] stairs linking to cave region - [+] when learning random skills: - [+] prefer lower-level skills - [+] onyl learn up to adept level - [+] animate dead crashes if there is no space to place the lifeform! - [+] increase range of charge ability - [+] when you gain techusage, check held objects for conferred flags. - [+] bug: motion scanner working even though i have no tech usage! - [+] warn player before climbing without climb skill (if wisdom is >= average) - [+] regions should have depthmod. - [+] regionthings should be based on DEPTH, not difficulty! - [+] rename firstdungeon to maindungeon - [+] announcearrival broken -always saying 'new area' - [+] don't use ranged attacks when feigning death if target is adjacent - [+] don't say 'argh' if you were beheaded. - [+] The bear cub bites a wooden door with a teeth.--More-- - [+] random levelup skills - only select from skills which we have used? - [+] need to chance f_hasskill to use f->val[2] = used_this_level - [+] when you gain a skill, set f>val[2] = b_false or NA - [+] add setskillused for all skills! - [+] make random levleup only pick from used skills. - [+] TEST - [+] knowledge skills - practice them when you see a new lf of this type. - [+] slithering shoudl hardly ever awaken you - make listen check harder. - [+] don't put fireplaces in corridors. F_ONLYINROOM ? - [+] bug: acid trails from slug disappearing or never appearing? - [+] snails/slugs - [+] killed by salt - [+] vslow - [+] snails have vhigh armourrating - [+] slugs have lots of hp and do more damage - [+] brown/grey 'j' ? - [+] leave slime/acid trails?
2012-01-03 12:21:22 +11:00
initoptions();
2011-03-04 12:22:36 +11:00
initcommands();
2010-12-02 12:17:54 +11:00
initobjects();
- [+] corpses should inherit lf vulnerabilities/immunities - [+] change bloodsplatter for full leeches to no longer use fireat code - [+] was a bug - wasn't handling NA for speed in F_DIESPLATTER - [+] change fireat code to not announce "xxx flies through the air" for platters - [+] fix it so that things flying through the air (via fragments()) can hit people. - [+] when calling fragments(), don't announce every single "a shard flies at xxx" - [+] fireat() needs "announcethrow" - [+] stop running when adjacent to any monster (evne peaceful) - [+] monsters should always turn to face their attackers, even if they aren't adjacent. - [+] multiple ring types are getting the same hiddenname: - [+] Rings ring of strength (flourite ring) ring of stench (flourite ring) - [+] validateobs now checks for this. - [+] nearly everything seems to have 2 entries. - [+] maybe also put a check inside addhiddenname! - [+] addhiddenname no longer triggering dupes. - [+] bug: planeshift not working when cast by enemies. - [+] bug: skillxp being boosted by massive amounts sometimes - [+] Exp Level: 15 (32150 XP, -1581 for next) - [+] bug in getlfaccuracy - returning 9937 and boosting xpval by massive amounts! - [+] motel bug: - [+] How many hours will you pay for (you have $1073)? 4 hours ($440) You start resting (in your motel room)... You finish resting. You wake up. "Sleep well!" - [+] say"sleep well" BEFORE sleeping! - [+] for some reason i'm gaining massive amounts of skill points! - [+] killed giant ant, got 3 points??? - [+] pointsforsp not going up fast enough, especially at high levles (13+) - [+] was a bug in getlfaccuracy - [+] yumi should only check attacking helpless on your FIRST attack. - [+] if you have subsequent ones, they're ok since you can't control them! - [+] don't please or anger gods when fighting gods
2012-01-16 10:18:20 +11:00
validatehiddennames();
- [+] increase accuracy of blessed firearms ? * [+] in temples, holy water is just showing up as "potion of water" - [+] make blessed/silver arrows hurt undead etc - [+] different temple exit messages based on f_linkgod - [+] problem: in temples, holy water only casts $5 whereas a blessing costs around 100! - [+] adjust cost - increase value of BLESSED potion of water - [+] test out the new pricing... - [+] bug in skill descriptions.... never being added. - [+] why? debug to find out. - [+] because firstraceclass == NULL - [+] make monster skill determine whether you can identify them from footprints, not perception - [+] lorelev = novice: "you see animal footprints" - [+] lorelev = beginner: "you see xat footprints" - [+] perception beginner: "you see fresh xat footprints leading north" - [+] linkexit() shouldn't be allowed to fill in cells at the very edge of the map. - [+] just say can't fill in if c->locked. - [+] electrical trap - casts chain lightning - [+] some traps only trigger if you're on the ground (not flying) - [+] let you be able to dodge fire traps - [+] in io.c, show ability timers for canwill - [+] sacrifice of cursed obs to amberon - move this from "pray" to "offer". - [+] once you have prayed to one god, prevent praying to opposing gods. - [+] implement getopposinggod - [+] implement this - "xxx ignores you" - [+] in god display show line in red, and "prayed" as "N/A" - [+] need an alternate amberon anger effect if you don't have any blessed objects. - [+] when using 'm', skill list should show 'canwill' as 'abilities', not magic. - [+] when using 'm', skill list should show shortcuts - [+] change attribs to be 0-100 - [+] getskillbracket type functions - [+] lf definitions - [+] this impacts skill checks and their difficulty - [+] and object boosts / penalties - [+] and weapon attrreq - [+] ATTRMOD - [+] JOBATTRMOD - [+] io.c: attrmod, jobattrmod - [+] getstatmod() - [+] basically anything which calls getattr()!!! - [+] when you levelup, increase one stat by 5, not 1. - [+] ATTRSET and ATTRMOD in spells
2012-01-19 10:11:55 +11:00
initraceclasses();
2011-03-10 16:47:18 +11:00
initskills();
2011-02-01 06:16:13 +11:00
initjobs();
2010-12-02 12:17:54 +11:00
initrace();
initmap();
2010-12-02 12:17:54 +11:00
- [+] ob1() macros - [+] healing potions should heal even "permenant" injuries - [+] potions/spells - [+] summon decoy (chicken horde) spell - "friends!" - [+] potion of spider climb (arachnid adhesion) - [+] gloves of the spider - [+] F_startobwepskill sk_shortblades etc - [+] change mosnter starting weapons to be based on wepsk, not specific named weapons - [+] make wrapprint cope properly with 0 length strings - [+] fix io.c showlfstats layout - [+] fountains of xp should always dry up after one use! - [+] plants shouldn't leave footprints! - [+] fix overcomplicated code in updateknowncells - [+] you always "see" allies following you down/up stairs, even if they are behind you. - [+] remove dtresist slash from skeletons - their bone skin reduces this already. - [+] leave dtresist pierce because it's hard to hit them. - [+] confirm gold amount when donating to shops - [+] increase piety by half of any gold donated to temples - [+] move hp, mp, sp to same line as target, and make them into bars - [+] HP:[ 11 / 11 ] - [+] makebar(window,min,max, loss,barcol, losscol) - [+] print the prefix: "HP:[" - [+] construct the bar string to fit into 10 chars: " 11 / 11 " - [+] print it one char at a time, setting bg as follows: - [+] background: - [+] 0 - min is barcol - [+] min+1 - min+loss is losscol - [+] rest is black - [+] print the suffix: "] " - [+] remember last dam amount for hp. - [+] show mp and stamina like this too. - [+] update viewpoint sooner when moving vertically - [+] if you can't comprehend the contents of a spellbook, don't ID it! - [+] hpbar: pass textcol and texcolwithbg - [+] show f_stability in @e - [+] don't identify tech inside shops if it's beyond your skill level - [+] bug: "a cursed +-1 ring of dexterity" - [+] enraged or deaf lfs shouldn't respond to chats - [+] drawbar: show mp/sp text in orange if it's at 0. - [+] allow vegetarians to eat frozen corpses. - [+] anything flying + stunned loses flying. - [+] chance for monsters to throw missiles is reduced when acc < C - [+] use same code as firearms - [+] undead shouldn't lose consciousness - they should jsut die.
2011-12-06 04:03:47 +11:00
// open log file (want to do this before digging the first map)
logfile = fopen("log.txt","wt");
fprintf(logfile, "\n\n\n====== NEW LOGFILE ====\n");
- [+] corpses should inherit lf vulnerabilities/immunities - [+] change bloodsplatter for full leeches to no longer use fireat code - [+] was a bug - wasn't handling NA for speed in F_DIESPLATTER - [+] change fireat code to not announce "xxx flies through the air" for platters - [+] fix it so that things flying through the air (via fragments()) can hit people. - [+] when calling fragments(), don't announce every single "a shard flies at xxx" - [+] fireat() needs "announcethrow" - [+] stop running when adjacent to any monster (evne peaceful) - [+] monsters should always turn to face their attackers, even if they aren't adjacent. - [+] multiple ring types are getting the same hiddenname: - [+] Rings ring of strength (flourite ring) ring of stench (flourite ring) - [+] validateobs now checks for this. - [+] nearly everything seems to have 2 entries. - [+] maybe also put a check inside addhiddenname! - [+] addhiddenname no longer triggering dupes. - [+] bug: planeshift not working when cast by enemies. - [+] bug: skillxp being boosted by massive amounts sometimes - [+] Exp Level: 15 (32150 XP, -1581 for next) - [+] bug in getlfaccuracy - returning 9937 and boosting xpval by massive amounts! - [+] motel bug: - [+] How many hours will you pay for (you have $1073)? 4 hours ($440) You start resting (in your motel room)... You finish resting. You wake up. "Sleep well!" - [+] say"sleep well" BEFORE sleeping! - [+] for some reason i'm gaining massive amounts of skill points! - [+] killed giant ant, got 3 points??? - [+] pointsforsp not going up fast enough, especially at high levles (13+) - [+] was a bug in getlfaccuracy - [+] yumi should only check attacking helpless on your FIRST attack. - [+] if you have subsequent ones, they're ok since you can't control them! - [+] don't please or anger gods when fighting gods
2012-01-16 10:18:20 +11:00
validatehiddennames();
gamemode = GM_VALIDATION;
2011-02-01 06:16:13 +11:00
if (validateobs()) {
return B_TRUE;
}
if (validateraces()) {
return B_TRUE;
}
VAULTS * [+] vaiultlegend_t * [+] vaultdef_t - [+] implement addlegend() - [+] implement addvault() - [+] function to read in a vault from a data file - [+] vs_noid - [+] vs_loadingmap - [+] vs_loadinglegend - [+] vs_loadingflags - [+] vs_loading - [+] load all vaultdefs in at start - [+] change createroom to calculate the posistion - [+] for each room, give a %chance of haivng a vault. (based on habitat?) * [+] createvault(map_t, roomid?, char *vaultid) - [+] mapdata with letters * [+] MSG up vault errors on load. - [+] Select job _before_ generating first map. * [+] make addob() handle door flags: * [+] addob() improvements * [+] wish bug: first object goes in pack, rest on ground. - [+] genericise getroomedge() - [+] finish 'autodoors' (at the end, add doors if none already done) - [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x, v1=y, v2=pct text=what * [+] "what" can be: * [+] scatter:y1:x2:y2:what:chance%:howmany * [+] some way to make the @map bit just say 'random room at least 2x4' - [+] make "scatter" able to take range instead of count. - [+] make "scatter"able to take x% instead of count. - [+] upsidedown chars no longer working with winch() - [+] ensure no DUPE ids - [+] make legend take percentages (optional) - [+] make "at" take negative values... OPTIONS - [+] autodoors - put doors on edges like with normal dungeon rooms. * [+] autopop - fill with obs/monsters like normal rooms VAULT FILES - [+] flooded room - [+] labyrinth - [+] vault (lots of money, locked secret doors) - [+] monster zoos (money and monsters) - [+] diningroom - lots of tables and chairs - [+] circleroom - [+] pillared room - [+] glass pillared room - [+] cockatrice lair (statues) - [+] traproom - need "random trap". need OC_TRAP. - [+] BUG: piranhas walking out of water sometimes....... - [+] add startatt x-y rather than just a bracket. use text field. - [+] make teleport auto move away form lfs - [+] add minotaur
2011-06-02 18:34:44 +10:00
// load in vaults
loadvaults();
// validate regions
if (validateregions()) {
printf("Errors found in map outlines - check log for details. Bailing out.");
exit(1);
}
2010-12-02 12:17:54 +11:00
return B_FALSE;
}
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
void initcond(condset_t *cs) {
cs->nconds = 0;
}
void initcondv(condset_t *cs, ...) {
enum CELLCONDITION condition;
va_list args;
int value,arg;
va_start(args, cs);
cs->nconds = 0;
condition = va_arg(args, enum CELLCONDITION);
while (condition != CC_NONE) {
value = va_arg(args, int);
assert((value == B_TRUE) || (value == B_FALSE) || (value == B_ONEOF));
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
arg = va_arg(args, int);
addcond(cs, condition, value, arg);
condition = va_arg(args, enum CELLCONDITION);
}
va_end(args);
}
char incletter(char *ch) {
int newchar;
if (*ch == '\0') {
newchar = 'a';
} else if (*ch == 'z') {
newchar = 'A';
} else {
newchar = (*ch) + 1;
}
*ch = newchar;
return *ch;
}
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
- [+] press ] then \ - CRASH. - [+] if sound is behind walls: - [+] you hear a muffled explosion - [+] int canhear() needs one more optional argument: &numwallspassed - [+] if supplied, fill it in. - [+] in noise(), check numwallspassed. if there were any, then say 'muffled'. or maybe if more than 2? play around with this. - [+] listen skill should also give more info about NON monster sounds - [+] ie. direction, distance. - [+] set user->changinglev when CHECKING stairs in the same way as when we use them. - [+] monk abil - iron fist - use all remaining stamina as damage + knockback * [+] HITCONFER - this should only work if you were attacked through a BITE or CLAW etc. - [+] bug... werewolves etc not attacking properly after shapehifting - [+] some tech/tools should be usable with hands (ie. watch). f_operwithouthands - [+] werewolves sohuld keep f_hitconfer after shapeshifting - [+] done - [+] summoned creatures from ai should never attack their masters!!! - [+] only the PLAYER can be infected by a werewolf? or only HUMANS ? - [+] when a werewolf changes to animal form, no longer hide true race as 'human' - [+] lycanthropy? - [+] how to get it: - [+] drink were-xxx blood (->potion of lycanthropy, never appears randomly) - [+] bitten by a lycanthrope (chance) with hitconfer and fail a con check - [+] change f_lycanthrope so text = racename. - [+] effects when you get it: - [+] right away, add diseased with lycanthropy. incubatino infinite ? - [+] if you are incubating lycanthropy, you always change at the full moon (and get rage, and lose control). - [+] at this point, complete the incubation and... - [+] add f_hatesall - [+] lose control for a while - [+] after you change back the first time, you can change at will. (but there is a risk each time of losing control) - [+] player regains control - [+] remove aicontrolled, hatesall, rage - [+] actually add f_lycanthrope, text=xxx, v0=4 - [+] when f_lycanthrope v0 drops to 0 or less... - [+] canwill shapeshift with race:xxx - [+] how to remove it - [+] remove curse scroll - [+] drink holy water - [+] these will: - [+] cure any incubating curse - [+] cure any f_poisoned curse - [+] cure lycanthropy, and any flags FROMLYCANTHROPY - [+] other effect - [+] wont/cant walk into holy circle? - [+] holy circle hurts you - [+] shouldn't be able to get critical hits on you (ie. injuries) if you ahve heavenly armour - [+] bug in f_poisoned text. i think i've fixed this now. Died on level 2 of the dungeon. Killed by venom poisoning from 5-10 - [+] donated objects count towards xp! - [+] -50% of value if not known. - [+] -25% of value if not id'd - [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
void inctime(long nunits) {
curtime += (nunits*(TIMECONST));
// don't let it get higher than 23:59
while (curtime >= DAYSECS) {
curtime -= DAYSECS;
}
}
- [+] "really attack the helpless something?" - [+] don't show this message if we can't see iT! - [+] also dont count this as a peaceful attack if we can't see it. - [+] missiles missing you should interrupt training! - [+] Why does monk acuracy start at -4?! - [+] godstone of destruction (hammer ) - [+] godstone of life (heart ?) - [+] godstone of mercy (flower?) - [+] revenge/theft (glove?) - [+] godstone of purity (orb ?) - [+] death: of death. (skull ?) - [+] casts infinite death - [+] nature: of Nature (seed ?) - [+] all plants become peaceful - [+] all animals become peaceful - [+] cure all diseases - [+] quench all fires - [+] flowers grow everywhere - [+] summon treants ? - [+] battle: of Battle (make this a horn?) - [+] remove all curses on equipped wep/arm. - [+] bless weapon (if not already done) - [+] nullify all other lfs - [+] super speed attacks ? - [+] warriors appear - [+] magic: of Magic (crown ?) - [+] restore all mp - [+] learn any spell - [+] identify all objects - [+] make Lavax be playable - [+] make Fishfolk be playable - [+] fix bug with wand lof - [+] reduce rarity of wands - [+] getrandomobwithflag() - [+] fix big memleak bug (allocating map cells twice) - [+] infinite loop on win game by defeating a god. - [+] klikirak shouldn't make fire when on plane of gods/ - [+] createhabitat shouldn't be allowed to blank pre-vault (ie. locked) cells - [+] bug: wasn't any lfs in realm of gods - [+] master vault - [+] bottom of dungeon has link to "vaults". - [+] vault stairs needs a key to open it. (special stair type) - [+] stair type: - [+] metal hatch leading down - [+] metal ladder leading up - [+] add new habitat - [+] add new branch - [+] algorithm for making h_vault level: - [+] start with everything a wall - [+] place x number of random rooms or vaults with tag:vault - [+] rooms can't overlap - [+] rooms should be fairly small - [+] IMPORTANT: rooms can't be further than 2 (3?) cells away from other rooms - [+] every room has locked doors (never open entrances) - [+] then go through, and cell which has a room cell near it becomes empty - [+] problems: - [+] rooms have no doors! - [+] rooms are too small!! - [+] populate with monsters (f_rarity) - [+] more chance of "guard" jobs - [+] automatically place chests - [+] 3 levels with: - [+] 1 staircase up/down form each - [+] down stairs require key to open. - [+] first level of vaults: outer vaults - [+] antechamber with vault guardians - [+] second level: inner vaults - [+] last level: master vault - [+] inner chamber with all the godstones - [+] once you pick up one godstone, the others vanish.
2012-04-27 11:23:14 +10:00
// retcell[0] will be initial location
* [+] 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
void calcbresnham(map_t *m, int x1, int y1, int x2, int y2, cell_t **retcell, int *numpixels) {
int xinc1,xinc2,yinc1,yinc2,dinc1,dinc2,d;
int xinc,yinc,dinc;
int i;
int x,y;
initbresnham( x1, y1, x2, y2, &xinc1, &yinc1, &dinc1, &xinc2, &yinc2, &dinc2, numpixels, &d);
x = x1;
y = y1;
for (i = 0; i < *numpixels; i++) {
retcell[i] = getcellat(m, x, y);
- [+] idea: only see forwards? (ie. in last dir moved) - [+] add player->facing - [+] this gets set to the last move direction - [+] you can only see in an arc in front of you - [+] going backwards just changes facing (and takes less time) - [+] shift+samedir = run - [+] shift + otherdir = walk without turning / strafe - [+] when ai is moving towards a seen target, always strafe - [+] when fleeing, you can turn your back. - [+] make strafing backwards/sideays take longer - [+] enhanced-smell means you can see all LIFEFORMS or _smell obects_ in all directions - [+] ie. look in all dirs, but in precalclos(), can only see RD_BACKWARDS/SIDEWAYS cells if they have lfs - [+] define "smelly" objects - non-undead lifeforms, food, ot_scent. f_smellable - [+] make eyedestroyed half your FOV (lose the right side) - [+] change pirate to start with permenant IJ_EYEDESTROYED - [+] mosnters should always turn to face sounds - [+] shields should give no AR, but have a chance of blocking all damage based on shield skill - [+] healing potions should fix nonpermenant injuries (check for this after checking for missing bodyparts) - [+] shouldn't remember map cells anything when bezerk - [+] show skillxp until next skill in @@ - [+] only allow 'c' to close doors which you can see. - [+] bug in precalclos when going off map. - [+] even with 0 cartography, remember cells. but then forget once they're >4 cells away. - [+] Exp Level: 3 (-2147483087 XP, 2147483704 for next) - [+] add asserts - [+] calcxp is sometimes returning -xxxxxxx. turned on debugging. - [+] wait for it to happen again - [+] bug: player can see own cell when maxvisrange = 0(resting) - [+] mods for perception skill: - [+] adept pereption: FOV widened - [+] expert perception: leave no footprints (rather than partically obscure) - [+] master perception: see in nearly all dirs
2011-09-12 09:52:14 +10:00
if (!retcell[i]) { // we've gone off the map - stop here
*numpixels = i;
return;
}
* [+] 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
dobresnham(d, xinc1, yinc1, dinc1, xinc2, yinc2, dinc2, &xinc, &yinc, &dinc);
// move to next cell
d += dinc;
x += xinc;
y += yinc;
}
}
void initbresnham(int x1, int y1, int x2, int y2, int *xinc1, int *yinc1, int *dinc1, int *xinc2, int *yinc2, int *dinc2, int *numpixels, int *d) {
int deltax,deltay;
deltax = (x2 - x1);
if (deltax < 0) deltax = -deltax;
deltay = (y2 - y1);
if (deltay < 0) deltay = -deltay;
if (deltax >= deltay) {
*numpixels = deltax + 1;
*d = (deltay*2) - deltax;
*dinc1 = deltay << 1;
*dinc2 = (deltay-deltax) << 1;
*xinc1 = 1;
*xinc2 = 1;
*yinc1 = 0;
*yinc2 = 1;
} else {
*numpixels = deltay + 1;
*d = (deltax*2) - deltay;
*dinc1 = deltax << 1;
*dinc2 = (deltax - deltay) << 1;
*xinc1 = 0;
*xinc2 = 1;
*yinc1 = 1;
*yinc2 = 1;
}
if (x1 > x2) {
*xinc1 = - *xinc1;
*xinc2 = - *xinc2;
}
if (y1 > y2) {
*yinc1 = - *yinc1;
*yinc2 = - *yinc2;
}
}
2011-03-04 12:22:36 +11:00
2010-12-02 12:17:54 +11:00
int isplayerturn(void) {
2010-12-07 18:34:26 +11:00
if (!player) return B_FALSE;
if (isplayer(player->cell->map->lf)) {
2010-12-02 12:17:54 +11:00
return B_TRUE;
}
return B_FALSE;
}
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
void killwarning(warning_t *w) {
warning_t *nextone, *lastone;
// free mem
if (w->text) free(w->text);
// remove from list
nextone = w->next;
if (nextone != NULL) {
nextone->prev = w->prev;
} else { /* last */
lastwarning = w->prev;
}
if (w->prev == NULL) {
/* first */
nextone = w->next;
free(firstwarning);
firstwarning = nextone;
} else {
lastone = w->prev;
free (lastone->next );
lastone->next = nextone;
}
}
void killwarningtext(char *text) {
warning_t *w;
w = findwarning(text);
if (w) killwarning(w);
}
2011-03-04 12:22:36 +11:00
int limit(int *what, int min, int max) {
int limited = 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 (min != NA) {
if (*what < min) {
*what = min;
limited = B_TRUE;
}
2011-03-04 12:22:36 +11:00
}
* [+] always add webs if there are randomly generated spiders on a level - [+] non-wood doors - [+] iron - [+] only interrupt rest for hunger if it's 'starving' or 'vhungry' - [+] limit the amount of jumping we can do from athletics skill. - [+] no message when i lockpick with a -6 combat knife. - [+] make small corpses give much less nutrition! - [+] high unarmed skill should give you unarmed attacks with a 1-handed weapon. - [+] dual weild - [+] if you have twoweapon skill, when you weild a weapon, say "weild as secondary weapon? y/n" - [+] in attackcell(), check if we have a weapon in our second hand AND are skilled in twoweaponing - [+] if so, get an attack with both, but with an accuracy penalty (until adept level) - [+] make sure shiedl code doesn't accept weapons! - [+] knockback() can now knock back other lfs that you hit on the way * [+] faster resting obs (only via R) - [+] replace F_RESTING with F_ASLEEP. v0 = onpurpose. if v0, you wake up when at full hp/mp/etc - [+] implement F_TRAINING with traincounter - [+] don't say 'rest until nearby allies ar eheald' if they aren't damaged - [+] make listen dififculty check dependant on distance to noise - [+] doesn't make sense for druid to be a vegetarian. use "can only eat meat when hungry" - [+] @@ - combine acc+dmg. ie. "weapon: mace (63%,2-9dmg) - [+] @@ - show both weapons if dualweilding. - [+] porcupine shoudl have F_SHARP corpse. implement F_CORPSEFLAGS - [+] create monster - "giant ant" making "giant antlion"! - [+] giant porcupine - [+] implement - [+] should attack ants on sight - f_hatesrace - [+] if race=hatesrace or baserace = hatesrace, will attack it. - [+] gust of wind - blow obs away! - [+] thorns (grow spikes, attackers take dmg) - [+] f_retaliate, v0=ndice,v1=dsides, v2=damype, text=obname - [+] major healing (new spell)
2011-05-05 13:12:52 +10:00
if (max != NA) {
if (*what > max) {
*what = max;
limited = B_TRUE;
}
2011-03-04 12:22:36 +11:00
}
return limited;
}
- [+] 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 limitf(float *what, float min, float max) {
int limited = B_FALSE;
if (min != NA) {
if (*what < min) {
*what = min;
limited = B_TRUE;
}
}
if (max != NA) {
if (*what > max) {
*what = max;
limited = B_TRUE;
}
}
return limited;
}
int limitd(double *what, double min, double max) {
- [+] 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 limited = B_FALSE;
if (min != NA) {
if (*what < min) {
*what = min;
limited = B_TRUE;
}
}
if (max != NA) {
if (*what > max) {
*what = max;
limited = B_TRUE;
}
}
return limited;
}
* [+] make vending machines use this container code instead. - [+] don't say "you see a few things" if one of them is footsteps * [+] IFMONSTER code failing....because flags are now SORTED!!! - [+] tumble - askcoords is letting us pick a cell we don't have lof to. * [+] assign a name to lfs once you hire them * [+] coloured msgtext - [+] make min dam reduction from AR be AR/5. - [+] safebox - [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with no getsweaker (val1) * [+] make fire / ice damage mor elike netheck - [+] towns should have gates on EVERY side - [+] forest cells outside town gates need to be CLEARED. (maybe turn to dirt) - [+] fix up knock targetting to include magical barriers - [+] say "open a bag?" not "operate a bag?" * [+] implement immunetodisease - [+] sort known skills in @s. - [+] better damage bonus when attacking someone who is asleep - [+] practive firearms/throwing * [+] need objecttype->size * [+] containers * [+] change guns so you have to reload them. ("operate") - [+] crash when loading map with water - [+] SAVE OBJECT CONTENTSk - [+] monsters with jobs aren't getting start items - [+] shopkeeper has shotgun - [+] bug: monster keeps swapping between shotgun and flail - [+] when hiring, remember failure. * [+] Inn - [+] bug: pets fighting!!! then they all turn on you. never make allies get angry unless the attacker is the player * [+] hiring npcs - [+] chat to pet: "stay close" or "keep your distance" - [+] new 'furniture' obclass - [+] allow for 'randomshop' regiontype * [+] add enchantment school - [+] cast a scroll of mending on itself. CRASH. * [+] lessengravity should make you jump better and get knocked back further - [+] boostgrav/lessengrav cancel out each other. * [+] CRASH when you fall down a hole and die. - [+] problem: master gravitation doesn't let us cast levitat. getspellschoolknown() should return the HIGHEST known skill, not the first. * [+] bug: dregion is null?!??! * [+] dig a pit, if you cleared out land below, you just stay down there. - [+] potion of leveitation - [+] warning msg when levitate is about to expire * [+] if you fall upwards to the surface... * [+] if you are ever on the surface while levitating.... - [+] BUG: cna't go up stairs to surface anymore!!!!! - [+] get hungry LOTS more quickly when you start sprinting * [+] monk slow metabolism psionic pell. - [+] fix buf with lore giving LESS accuracy instead of more. - [+] food shop - [+] wand of digging not identified if you dig upwards * [+] when you make ah ole in the roof, objects above should fall through right away * [+] all towns should have: - [+] give monks more psionics spells. - [+] sk_throwing skill - [+] make calm animals use spellpower * [+] add wisdom * [+] need to save region data along with maps * [+] COMBINE armour evasion and accuracy penalty!!! * [+] make armour reduce accuracy as well (unless you have 'armour' skill) - [+] landmine trap * [+] make friendly monsters of same raceclass swap ammo - [+] rename 'pull' to 'suck' to avoid confusion with pull metal * [+] food to fix blindness - [+] potion of coffee * [+] genericise statbrackets * [+] tumble ability * [+] simplify spell power * [+] shopkeeprs should be allowed to pursue targets outside of the shop. - [+] give shopkeepers a shotgun * [+] make F_RNDHOSTILE be able to ahve a random chance. * [+] if you randomly generate food in a shop, still give it a price. - [+] if peaceful humanoid walks into you, "sorry!" - [+] sayphrase(lf, SP_SORRY, vol) - [+] only let you recruit jobs with j_recruitable - [+] CRASH - summon "monk" - [+] dogs, - [+] chickens, - [+] drunks, * [+] village objects - [+] change armourrating AGAIN. instead of a percentage, make it a number. - [+] rename inn to "pub", since you can't sleep there. * [+] random speech code * [+] genericise sayphrase text based on lf's job * [+] monks - add rest of abliities - [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
int loadnpcnames(void) {
FILE *f;
char buf[BUFLEN];
int i = 0;
f = fopen("data/npcnames.txt", "rt");
if (!f) return B_TRUE;
// count lines...
fgets(buf, BUFLEN, f); // VALGRIND: memleak here
* [+] 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
numnpcnames = 0;
while (!feof(f)) {
if (strlen(buf)) {
buf[strlen(buf)-1] = '\0'; // strip newline
}
* [+] 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 (strlen(buf)) {
numnpcnames++;
}
fgets(buf, BUFLEN, f);
}
// alloc mem
//npcname = malloc(numnpcnames * sizeof(npcname_t));
npcname = calloc(numnpcnames, sizeof(npcname_t));
* [+] 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
// back to start
fseek(f, 0, SEEK_SET);
// now read in names
fgets(buf, BUFLEN, f);
while (!feof(f)) {
if (strlen(buf)) {
buf[strlen(buf)-1] = '\0'; // strip newline
}
* [+] 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 (strlen(buf)) {
capitalise(buf);
npcname[i].name = strdup(buf);
npcname[i].valid = B_TRUE;
i++;
}
fgets(buf, BUFLEN, f);
}
return B_FALSE;
}
* [+] let credit cards be used at some shops? * [+] bug with adding obejcts to shops - [+] issue with objects dying and killing their flagpiles - [+] A medium fire dies down a little. A medium fire is no longer glowing. - [+] shouldn't say "is no longer glowing" when we're changing the type... ? - [+] put a breakpoint on "is no longer glowing" * [+] let you bless objects using a holy circle somehow (but it might make the circle disappear?). - [+] darness bug - need to recalc light for anyone who sees a cell's lightlevel change. - [+] call more() after showing vaultentertext() - [+] remove "inspected" when you ident or makeknown an object. - [+] BUG - no objects in inventory!!!! - [+] listobs failing? mylist[0] = null. MEMLEAK - [+] finish implementing CLEANUP() - [+] crash in cleanup() -> killot() -> findleak.c_stuff while freeing STACKABLE flag from cactus fruit??? - [+] better now? - [+] now a crash freeing hiddennames! - [+] forgot to free obmods - [+] leaking approx. 1 meg per turn! - [+] where am i leaking?! maybe try valgrind or findleak.c - [+] findleak.c now finds nothing. - [+] but i am sitll leaking????? - [+] related to lifeform count. killing all but player dramatically slows it. - [+] check calclos()... looks okay. - [+] setcellknown() ?no. - [+] startlfturn?? no. - [+] remove unused "lf->viscell" - [+] when there are 2 things in a cell, say "you see x and x here." - [+] restore original stast when polymorphing back to original form!!! - [+] when making shops, pick new ones more often. - [+] change to maps: don't let vaults overlap. - [+] HARDCODE object values - [+] potions - [+] tech - [+] tools - [+] rings - [+] increase evasion skill effects - [+] changes to animradial... and animradialorth - [+] combine into one function - [+] move msg into here - [+] refs to spellcloud() - [+] refs to animradial() - [+] fire should spread onto flammable lifeforms - [+] bug: attack flurry doesn't work for monk - [+] let monsters climb even when not facing a wall? - [+] set their facing first. - [+] CRASH when you die while climbing (or on a solid cell) - [+] rings - [+] stench - [+] breath water - [+] detect life - [+] deceleration - [+] meditation - [+] reflection - [+] boost magic power - [+] education - gain xpskills more quickly - [+] crit protection - [+] greed - detect obs - [+] ivy - grows! - [+] ragefungus - bezerk spores - [+] nutter - drops peanuts - [+] dish which slightly increases maxhp (beginner level) - [+] stuffed mushroom. shiitake mushroom + bread
2011-12-08 13:55:14 +11:00
void *mymalloc(size_t sz) {
return malloc(sz);
}
* [+] 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 onein(int howmany) {
if (howmany <= 0) 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
if (rnd(1,howmany) == 1) return B_TRUE;
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
int parseplayerfile(FILE *f, lifeform_t *lf) {
// add extra obs etc from f
char *pp;
char localbuf[BUFLEN];
char buf[BUFLEN];
int goterror = B_FALSE;
fgets(buf, BUFLEN, f);
while (!feof(f)) {
if (buf[strlen(buf)-1] == '\n') {
buf[strlen(buf)-1] = '\0';
}
//dblog("got line: [%s]",buf);
if (strstr(buf, "skill:") == buf) {
skill_t *sk;
enum SKILLLEVEL slev;
strcpy(localbuf, buf + strlen("skill:"));
pp = strtok(localbuf, " ");
if (!pp) {
dblog("ERROR in playerfile. unknown skill level in this line:\n%s\n",buf);
goterror = B_TRUE;
}
slev = findskilllevbyname(pp);
pp += (strlen(pp) + 1);
if (!pp) {
dblog("ERROR in playerfile. missing skill name in this line:\n%s\n",buf);
goterror = B_TRUE;
}
sk = findskillbyname(pp);
if (sk) {
giveskilllev(lf, sk->id, slev);
} else {
dblog("ERROR in playerfile. unknown skill (%s) in this line:\n%s\n",pp, buf);
goterror = B_TRUE;
}
} else if (strstr(buf, "ob:") == buf) {
object_t *o;
strcpy(localbuf, buf + strlen("ob:"));
o = addob(lf->pack, localbuf);
if (o) {
identify(o);
} else {
dblog("ERROR in playerfile. unknown object in this line:\n%s\n",buf);
goterror = B_TRUE;
}
}
fgets(buf, BUFLEN, f);
}
return goterror;
}
* [+] make vending machines use this container code instead. - [+] don't say "you see a few things" if one of them is footsteps * [+] IFMONSTER code failing....because flags are now SORTED!!! - [+] tumble - askcoords is letting us pick a cell we don't have lof to. * [+] assign a name to lfs once you hire them * [+] coloured msgtext - [+] make min dam reduction from AR be AR/5. - [+] safebox - [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with no getsweaker (val1) * [+] make fire / ice damage mor elike netheck - [+] towns should have gates on EVERY side - [+] forest cells outside town gates need to be CLEARED. (maybe turn to dirt) - [+] fix up knock targetting to include magical barriers - [+] say "open a bag?" not "operate a bag?" * [+] implement immunetodisease - [+] sort known skills in @s. - [+] better damage bonus when attacking someone who is asleep - [+] practive firearms/throwing * [+] need objecttype->size * [+] containers * [+] change guns so you have to reload them. ("operate") - [+] crash when loading map with water - [+] SAVE OBJECT CONTENTSk - [+] monsters with jobs aren't getting start items - [+] shopkeeper has shotgun - [+] bug: monster keeps swapping between shotgun and flail - [+] when hiring, remember failure. * [+] Inn - [+] bug: pets fighting!!! then they all turn on you. never make allies get angry unless the attacker is the player * [+] hiring npcs - [+] chat to pet: "stay close" or "keep your distance" - [+] new 'furniture' obclass - [+] allow for 'randomshop' regiontype * [+] add enchantment school - [+] cast a scroll of mending on itself. CRASH. * [+] lessengravity should make you jump better and get knocked back further - [+] boostgrav/lessengrav cancel out each other. * [+] CRASH when you fall down a hole and die. - [+] problem: master gravitation doesn't let us cast levitat. getspellschoolknown() should return the HIGHEST known skill, not the first. * [+] bug: dregion is null?!??! * [+] dig a pit, if you cleared out land below, you just stay down there. - [+] potion of leveitation - [+] warning msg when levitate is about to expire * [+] if you fall upwards to the surface... * [+] if you are ever on the surface while levitating.... - [+] BUG: cna't go up stairs to surface anymore!!!!! - [+] get hungry LOTS more quickly when you start sprinting * [+] monk slow metabolism psionic pell. - [+] fix buf with lore giving LESS accuracy instead of more. - [+] food shop - [+] wand of digging not identified if you dig upwards * [+] when you make ah ole in the roof, objects above should fall through right away * [+] all towns should have: - [+] give monks more psionics spells. - [+] sk_throwing skill - [+] make calm animals use spellpower * [+] add wisdom * [+] need to save region data along with maps * [+] COMBINE armour evasion and accuracy penalty!!! * [+] make armour reduce accuracy as well (unless you have 'armour' skill) - [+] landmine trap * [+] make friendly monsters of same raceclass swap ammo - [+] rename 'pull' to 'suck' to avoid confusion with pull metal * [+] food to fix blindness - [+] potion of coffee * [+] genericise statbrackets * [+] tumble ability * [+] simplify spell power * [+] shopkeeprs should be allowed to pursue targets outside of the shop. - [+] give shopkeepers a shotgun * [+] make F_RNDHOSTILE be able to ahve a random chance. * [+] if you randomly generate food in a shop, still give it a price. - [+] if peaceful humanoid walks into you, "sorry!" - [+] sayphrase(lf, SP_SORRY, vol) - [+] only let you recruit jobs with j_recruitable - [+] CRASH - summon "monk" - [+] dogs, - [+] chickens, - [+] drunks, * [+] village objects - [+] change armourrating AGAIN. instead of a percentage, make it a number. - [+] rename inn to "pub", since you can't sleep there. * [+] random speech code * [+] genericise sayphrase text based on lf's job * [+] monks - add rest of abliities - [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
int pctchance(int pct) {
if (rnd(1,100) <= pct) {
return B_TRUE;
}
return B_FALSE;
}
2011-02-01 06:16:13 +11:00
float pctof(float pct, float num) {
return ((pct / 100.0) * num);
}
- [+] bug: "10 flaming arrows ##########\n are no longer on fire" - [+] bug: when wearing no boots: "A small puddle of water hits you!" - [+] animated zombie keeps changing colour * [+] wizard special case: * [+] bug - walked down stiars on top of a monster - [+] change "haslof" to come from a cell - [+] replace WE_NOTSOLID with WE_WALKABLE - [+] show hp/mp in colour - [+] invis potion should always traget user - [+] generic functions to curse/uncurse an object - [+] not prompting for statgain after training properly. fixed. * [+] pressing a key should interrupt resting * [+] implement doublebuffering for screen - [+] don't show attack dmg for mosnters - [+] reduce sprint time - [+] if a monster is chasing someone (ie has F_TARGET), then don't consider cursed ob ells as valid - [+] don't hear noises when in battle - [+] colourise attribs on status bar * [+] askob/askobmulti - [+] "lockpick with what" showing too much * [+] inventoy colours - [+] "masterwork stick" ?! - [+] poison: save to get rid of poison should be HARDER than save to prevent getting it * [+] why are xats starting off carrying objects ? * [+] small chance of catching a thrown missile if you have very high dex * [+] if you polymorphed on purpose, have a "revert to original form" ability - [+] nausea should only affect humanoids - [+] BUG displaying knowledge when it goes longer than 1 screen. - [+] monsters are attacking each other again! fixed? * [+] BUG: when i load a game, i gain all knowledge! - [+] more pole weapons * [+] disarming weapons * [+] tripping weapons * [+] MORE ISSUES with askobject * [+] validatelf - [+] fix bug with poison triggering too often - [+] chance of retching when nauseated. no hp loss, but takes time. - [+] monsters shouldn't throw stuff if they don't have lof. - [+] fix crash in knockbackob->fireat, caused by thrower == null - [+] let high powered KNOCK knockback creatures again ? - [+] test function to dump out: dungeonlev which_monsters_can_appear - [+] firstaid tells you how long poison will last and whether it's lifethreatenting? * [+] high level listen gives more info - [+] wind shield spell - [+] repels all missiles of speed <= power - [+] variable level spells - [+] F_VARLEVEL - [+] when you cast, say "cast at how much power" with choices "Power II (5 MP)" - [+] show in spell list: "5-10 MP" - [+] replace ARBOOST with MAGICARMOUR - [+] needan() * [+] move psychic shield check into losehp - [+] high level detectlife should show actual lf glyphs - [+] control which jobs can learn which new skills. - [+] F_CANLEARN xxx - [+] remember last target from spells - [+] askcoords = does lf for lastlftarg exist? if not, set it to null - [+] if so, start with it - [+] when you pick one, set it. - [+] F_SHIELDPENALTY - modifies accuracy. * [+] stop wizards from using shields
2011-04-06 17:27:55 +10:00
2010-12-07 18:34:26 +11:00
// get a random number between min and max
2010-12-02 12:17:54 +11:00
int rnd(int min, int max) {
int res;
res = (rand() % (max - min + 1)) + min;
return res;
}
- [+] change real_getlfname(): - [+] take lifeform_t * for usevis instead of boolean - [+] add new option "useorigrace" for shapechangers - [+] whips - [+] F_WHIP - [+] new skill: sk_whips - [+] basic trais: - [+] high accuracy - [+] lowish dam - [+] pierce/slash/bash damage - [+] some will let you cast 'snatch' and suck - [+] no crit chance - [+] examples: - [+] bull whip (lowest damage) - [+] flail (ie. chain whip ,change type from club to whip) - [+] heavy flail - [+] metal-tipped whip (flail with higher acc) - [+] barbed whip (causes piercing damage as well) - [+] io.c @@ should take extradam into account - [+] describbeob() should show F_EXTRADAM - [+] change morale values - this shoudl default to your TR, otherwise f_morale replaces it. - [+] CRASH in doknowledgelist() - [+] hecta bug: fixed! - [+] You bisect the kobold! The dying kobold shouts "Nooooo!". Hecta's voice grates against your mind: "You allowed my sacrifice to escape!" - [+] is this because i'm calling "flee" after the lf takes fatal damage but before die() is called? - [+] NO, because flee() checks isdead(lf) - [+] it's happening when i kill a monster, and another one of the same type sees me! - [+] change: only trigger this is the player has previously attacked the monster - [+] replace fire titan with balrog - [+] You bisect the giant gnat! The dying giant gnat shouts "Nooooo!". - [+] fixed. - [+] boggart -brown 'n' - [+] made of wood - [+] cause things to disappear - [+] cause milk to sour (low power blight) - [+] scared of salt - [+] demandgold - [+] briar thrash (spiky) - yellow 'T' (grab) - [+] bingebark - red 'T'. wants edible, canwill snatch - [+] leshy (human with leaves) - green 'h' - [+] manticore - red 'm'' - [+] lion, bat lings, man head, tail tipped with iron spikes - [+] carnivore - [+] human sized - [+] shoots 1-6 spikes. each spike does 1d6. too much!! - [+] change this to be 5d3 damage per volley. - [+] ie missiledam 4d3 - [+] can do this once every 50 turns. - [+] can fly - [+] claws - 1d3 1d3 - [+] want gold (non covet)
2012-03-29 07:17:47 +11:00
int real_roll(char *string, int wantmax) {
int ndice,nsides,bonus;
int roll;
texttodice(string, &ndice,&nsides,&bonus);
- [+] change real_getlfname(): - [+] take lifeform_t * for usevis instead of boolean - [+] add new option "useorigrace" for shapechangers - [+] whips - [+] F_WHIP - [+] new skill: sk_whips - [+] basic trais: - [+] high accuracy - [+] lowish dam - [+] pierce/slash/bash damage - [+] some will let you cast 'snatch' and suck - [+] no crit chance - [+] examples: - [+] bull whip (lowest damage) - [+] flail (ie. chain whip ,change type from club to whip) - [+] heavy flail - [+] metal-tipped whip (flail with higher acc) - [+] barbed whip (causes piercing damage as well) - [+] io.c @@ should take extradam into account - [+] describbeob() should show F_EXTRADAM - [+] change morale values - this shoudl default to your TR, otherwise f_morale replaces it. - [+] CRASH in doknowledgelist() - [+] hecta bug: fixed! - [+] You bisect the kobold! The dying kobold shouts "Nooooo!". Hecta's voice grates against your mind: "You allowed my sacrifice to escape!" - [+] is this because i'm calling "flee" after the lf takes fatal damage but before die() is called? - [+] NO, because flee() checks isdead(lf) - [+] it's happening when i kill a monster, and another one of the same type sees me! - [+] change: only trigger this is the player has previously attacked the monster - [+] replace fire titan with balrog - [+] You bisect the giant gnat! The dying giant gnat shouts "Nooooo!". - [+] fixed. - [+] boggart -brown 'n' - [+] made of wood - [+] cause things to disappear - [+] cause milk to sour (low power blight) - [+] scared of salt - [+] demandgold - [+] briar thrash (spiky) - yellow 'T' (grab) - [+] bingebark - red 'T'. wants edible, canwill snatch - [+] leshy (human with leaves) - green 'h' - [+] manticore - red 'm'' - [+] lion, bat lings, man head, tail tipped with iron spikes - [+] carnivore - [+] human sized - [+] shoots 1-6 spikes. each spike does 1d6. too much!! - [+] change this to be 5d3 damage per volley. - [+] ie missiledam 4d3 - [+] can do this once every 50 turns. - [+] can fly - [+] claws - 1d3 1d3 - [+] want gold (non covet)
2012-03-29 07:17:47 +11:00
if (wantmax) {
roll = (ndice * nsides) + bonus;
} else {
roll = rolldie(ndice, nsides) + bonus;
}
return roll;
}
- [+] change real_getlfname(): - [+] take lifeform_t * for usevis instead of boolean - [+] add new option "useorigrace" for shapechangers - [+] whips - [+] F_WHIP - [+] new skill: sk_whips - [+] basic trais: - [+] high accuracy - [+] lowish dam - [+] pierce/slash/bash damage - [+] some will let you cast 'snatch' and suck - [+] no crit chance - [+] examples: - [+] bull whip (lowest damage) - [+] flail (ie. chain whip ,change type from club to whip) - [+] heavy flail - [+] metal-tipped whip (flail with higher acc) - [+] barbed whip (causes piercing damage as well) - [+] io.c @@ should take extradam into account - [+] describbeob() should show F_EXTRADAM - [+] change morale values - this shoudl default to your TR, otherwise f_morale replaces it. - [+] CRASH in doknowledgelist() - [+] hecta bug: fixed! - [+] You bisect the kobold! The dying kobold shouts "Nooooo!". Hecta's voice grates against your mind: "You allowed my sacrifice to escape!" - [+] is this because i'm calling "flee" after the lf takes fatal damage but before die() is called? - [+] NO, because flee() checks isdead(lf) - [+] it's happening when i kill a monster, and another one of the same type sees me! - [+] change: only trigger this is the player has previously attacked the monster - [+] replace fire titan with balrog - [+] You bisect the giant gnat! The dying giant gnat shouts "Nooooo!". - [+] fixed. - [+] boggart -brown 'n' - [+] made of wood - [+] cause things to disappear - [+] cause milk to sour (low power blight) - [+] scared of salt - [+] demandgold - [+] briar thrash (spiky) - yellow 'T' (grab) - [+] bingebark - red 'T'. wants edible, canwill snatch - [+] leshy (human with leaves) - green 'h' - [+] manticore - red 'm'' - [+] lion, bat lings, man head, tail tipped with iron spikes - [+] carnivore - [+] human sized - [+] shoots 1-6 spikes. each spike does 1d6. too much!! - [+] change this to be 5d3 damage per volley. - [+] ie missiledam 4d3 - [+] can do this once every 50 turns. - [+] can fly - [+] claws - 1d3 1d3 - [+] want gold (non covet)
2012-03-29 07:17:47 +11:00
int roll(char *string) {
return real_roll(string, B_FALSE);
}
2010-12-07 18:34:26 +11:00
// get a random number
int rolldie(int ndice, int sides) {
int i;
int res = 0;
- [+] chat->all allies command. - [+] replace 'step carefully' key to free up 's' - OT_A_TIPTOE - [+] 's' = 'shut door' (replace 'c') - [+] 'c' = 'chat to single' - [+] rewrite docomms() to use other funcs - [+] 'C' = 'command all allies' - [+] only possible for single person: - [+] 'o' donate - [+] 'i' tell me about this area - [+] 'j' join me - [+] 'k' trade knowledge - [+] 'm' mercy - [+] 't' trade - [+] 'x' dangers nearby? - [+] make a list of all commands which are valid for EVERYONE - [+] send command to everyone. - [+] docommslf() - [+] test with single target - [+] test with multiple targets - [+] hitconfer lifetime for wight/contagion zombie should only happen on fatal hits - [+] makezombie() should be able to call petify() - [+] bug: mosnters never using HIDE ability. - [+] monsters which pretend to be objects (ie. gargoyle) - [+] F_ISMONSTER v0=raceid v1=objectid, v2 = spot check difficulty - [+] when generating, add contents->first as objectid v1 - [+] getobname -> if you have f_mosnters, use contents->first - [+] getobdesc -> if you have f_mosnters, use contents->first - [+] mosnters won't walk onto it - [+] if you are next to them and can't see them... reveal then attack! - [+] F_ISMONSTER - must always be impassable to everyone!!! - [+] if you try to walk onto it: - [+] "the xxx starts to move!" - [+] kill ob - [+] add lf - [+] they get a free attack - [+] if it takes damage - [+] ... convert. - [+] spot checks to see them. - [+] ...convert. - [+] F_PRETENDSTOBE - mosnters will revert if unseen. - [+] reveal hidden should show them. - [+] gargoyle - [+] stone statues - [+] winged - [+] large - [+] ~37hp - [+] start off as an obejct - [+] wight - [+] rare. - [+] ~26 hp ...TR5 - [+] silent move - [+] dr4 attack (low damage) but.... - [+] any humans killed rise as a wight . - [+] (hitconfer revive). how can i limit hitconfer to a race? maybe f_hitconferrace - [+] bones file - [+] tested ok. - [+] 1 leveldrain per hit - [+] skillcheck to avoid - [+] wight gains +5 hp
2012-12-04 16:15:27 +11:00
if (sides <= 0) return 0;
2010-12-07 18:34:26 +11:00
for (i = 0; i < ndice; i++) {
res += rnd(1,sides);
}
return res;
}
2010-12-02 12:17:54 +11:00
- [+] add f_nostam to undead. - [+] add nonausea rather than nosmell sometimes. - [+] rats should eb able to smell, but not get nauseated. - [+] fix triumph pleasure for bjorn. must be no monsters within LOF... or within radius ? - [+] and make it very low piety gain. - [+] remember which level we got flags form - [+] flag_t -> fromlev - [+] announce this in getflagcourse - [+] undead qualities - [+] no criticals - [+] don't naturally heal - [+] don't breath - [+] drainlevel(fromlf) - [+] check for dtresist necrotic - [+] fitness saving throw (difficulty is 100 + fromlf's level*6) - [+] call loselevel() - [+] loselevel() - [+] announce. - [+] drop maxhp. - [+] adjust hp appropriately - [+] lose any flags where >fromlev is too high. - [+] handle monk f_hasattack specially. - [+] getmonkdr(level) - [+] getmonkattacks(level) - [+] keep track of what stats we gained and lose them again. - [+] TEST level drain with cursed xp pot - [+] TEST level drain with stats... - [+] prevent drinking when wearing full-face masks like gas mask/football helmet - [+] implement f_COVERSFACE. - [+] add it to objects. - [+] check it when doing caneat() candrink() - [+] up their AC bonus too - [+] large scorpion - [+] hellhound - [+] large primalities - [+] new vault flag: usehabitat:xxx - [+] means "set the habitat of all vault cells to xxx" - [+] real_getrandomob() should be given a CELL, not MAP. - [+] getrandomobofclass() should be given a CELL, not MAP. - [+] use CELL habitat to determine random obs - [+] apply to caves - [+] vault scatter: ignore locked cells (ie. reusable ones) new vaults - [+] dualroom - [+] sauna - vhot! - [+] pentagram and demons new pionic spells - [+] chi bolt - low dam ranged attack 1d4 - [+] chi strike (l4) - add 1d4 explosive damage to melee hits
2012-12-03 16:12:29 +11:00
int rollhitdice(lifeform_t *lf, int wantmax) {
- [+] weakness spell should half melee damage. - [+] quaffed a potion of polymorph self... and nothing happened! - [+] only killing undead should please the god of life, not just killing anything evil - [+] klikirak shouldn't get angry when you take cold damage! - [+] fire sohuld convert flammable celltypes to another type: - [+] wood -> stone floor with pit - [+] carpet > stone - [+] increase flamepillar range - [+] warning before killing firebug on wood/carpet, if wisdom is at_high or above, and animal lore is high enough. - [+] make f_twohanded only apply up to a given lf size. - [+] implement - [+] then add "istwohandedfor(wep, lf)" - [+] then fix up ob defs in data.c - [+] unnatural growth/shrinkage spells should be temporary too (like potion) - [+] random polymorph code - [+] stay at the same TR, or one higher/lower! (same for player random polymorph) - [+] elephant - friendly to mammoans - [+] mammoth - [+] pixie (then pixie, dryad sprite = sylvan / fae) - [+] naiad / nixie - [+] blue 'n' - [+] low power charm to lure into water - [+] dagger/javelin - [+] throwing net - [+] resist magic 25% - [+] droid - zapper - [+] hoverscout (levitates, summons monsters) - [+] skellion - floating flaming skull, scream attack, flame melee - [+] fire primality should cast flame burst. - [+] don't modify monster hp based on fitness. - [+] storm primality / wind primality - [+] very fast - [+] 2 attacks - 1d5 each time. (pummel with debris / zapper) - [+] permenant windshield - [+] lesser: - [+] lightningbolt (lesser, 2d6) - [+] sleetstorm (lesser, 1-2 cold and slow movement) - [+] greater - [+] chain lightning (greater, 3d6) - [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on power) - [+] naiad (water sprite) - 'n' -blue - [+] good - [+] aquatic - [+] water spirit - [+] charm spell - [+] ling parasite - green 'x' - [+] turns one corpse into a zombie (dies in the process) - [+] add onion object. - [+] roc - [+] "crystal cur" - canine. only bashing works - [+] gems for corpses. - [+] bug: monsters not using spells. fixed. - [+] test NOSPELLS bug with rapidivy - [+] test low IQ spells with storm primality - [+] make hitdice be d8 rather than d4 - [+] change F_HITDICE - [+] add constant HITDIESIDES - [+] redo all definitions in data.c
2012-03-11 12:39:33 +11:00
int ndice, nsides = HITDIESIDES, plus = 0;
- [+] intelligent (ie. more than animal) ai shouldn't move if it will cause damage - [+] move_will_hurt() - [+] ie. if in PAIN, or appropriate injury. - [+] if you're deaf, use "the xx says something" rather than "the xx says yy" - [+] STILL reachability errors in dlev 6 (jimbos' lair not linked) - [+] new forest habitat mechanism - clusters of trees - [+] bashing injury if you are slammed into a wall? - [+] jimbo didn't have a weapon! "+2 halberd" not working - [+] if you don't have knowledge about a creature, still show items (but only equipped ones) - [+] listen skill should take longer to train - [+] candle should last longer - [+] carrot grants temp darkvision - [+] shouldn't be able to eat stuff from floor while levitating - [+] CHANGE f_hitdice to use text - [+] fear spell from dretch always failing even on l1 player. why? * [+] summondemon spell - [+] adjust spell damage - 1d6 per level. ice spells: - [+] l4 - ice armour (higher power means more pieces of ice armour) - [+] (power/3)+1 pieces of armour. ie. 1 - 4 - [+] order: body,helmet, gloves, feet - [+] 4AC each. * [+] l5 - shardshot (higher level ray damage, does less damage the further away it goes) - [+] l5 - snap freeze ? turn one lf to ice? - [+] more things which use light attacks (ie. make glasses useful) - [+] replace bp_righthand with bp_rightfinger - [+] bug in blink spell: "Nothing seems to happen." - [+] make metal resist bite/slash/chop, not be immune. - [+] fix shatter spell on glass wall * [+] bug: in jimbos vault and plaeyrstart2, exits are being added in in appropriate places. * [+] make player's starting point be a "prison_cell" vault. - [+] earplugs - stop all sound. - [+] make f_deaf an intrinsic (ie. announcements) - [+] add the object critical hits: - [+] "you hit xxx" "xxx turns to flee" "xxx's leg is bruised" - [+] need losehp to NOT trigger fightback in this case - we will trigger it ourself after crithit. - [+] pass this as a param? - [+] critical eye hits - [+] scraped eyelid (slash, lower accuracy) - [+] black eye (bash, lower vision range and charisma) - [+] destroyed eye (pierce, permenant lower vision range!) - [+] injuries heal heaps faster when asleep - [+] redo f_injured flag to use an "enum INJURY" IJ_xxx - [+] change how it is applied - [+] change how it is announced (io.c) - [+] change how effects work (search for F_INJURY) - [+] pierce - [+] pierced artery: v.high bleed - [+] stabbed heart (instant death, very unlikely) - [+] slash: - [+] cut flexor tendon (cannot weild ANY weapon) - [+] slashed hamstring (fall. skillcehck every time you move, vslow movement) - [+] severed finger - [+] finger drops to the ground - [+] ring drops to the ground - [+] (get nobodypart bp_rightfinger or bp_leftfinger) - [+] bash: - [+] dislocated arm (cannot weild anything heavy in that hand) - [+] broken rib (reduced carrying capacity) - [+] swelled ankle (cannot remove or put on boots)
2011-09-06 08:04:51 +10:00
int myroll = 0;
- [+] weakness spell should half melee damage. - [+] quaffed a potion of polymorph self... and nothing happened! - [+] only killing undead should please the god of life, not just killing anything evil - [+] klikirak shouldn't get angry when you take cold damage! - [+] fire sohuld convert flammable celltypes to another type: - [+] wood -> stone floor with pit - [+] carpet > stone - [+] increase flamepillar range - [+] warning before killing firebug on wood/carpet, if wisdom is at_high or above, and animal lore is high enough. - [+] make f_twohanded only apply up to a given lf size. - [+] implement - [+] then add "istwohandedfor(wep, lf)" - [+] then fix up ob defs in data.c - [+] unnatural growth/shrinkage spells should be temporary too (like potion) - [+] random polymorph code - [+] stay at the same TR, or one higher/lower! (same for player random polymorph) - [+] elephant - friendly to mammoans - [+] mammoth - [+] pixie (then pixie, dryad sprite = sylvan / fae) - [+] naiad / nixie - [+] blue 'n' - [+] low power charm to lure into water - [+] dagger/javelin - [+] throwing net - [+] resist magic 25% - [+] droid - zapper - [+] hoverscout (levitates, summons monsters) - [+] skellion - floating flaming skull, scream attack, flame melee - [+] fire primality should cast flame burst. - [+] don't modify monster hp based on fitness. - [+] storm primality / wind primality - [+] very fast - [+] 2 attacks - 1d5 each time. (pummel with debris / zapper) - [+] permenant windshield - [+] lesser: - [+] lightningbolt (lesser, 2d6) - [+] sleetstorm (lesser, 1-2 cold and slow movement) - [+] greater - [+] chain lightning (greater, 3d6) - [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on power) - [+] naiad (water sprite) - 'n' -blue - [+] good - [+] aquatic - [+] water spirit - [+] charm spell - [+] ling parasite - green 'x' - [+] turns one corpse into a zombie (dies in the process) - [+] add onion object. - [+] roc - [+] "crystal cur" - canine. only bashing works - [+] gems for corpses. - [+] bug: monsters not using spells. fixed. - [+] test NOSPELLS bug with rapidivy - [+] test low IQ spells with storm primality - [+] make hitdice be d8 rather than d4 - [+] change F_HITDICE - [+] add constant HITDIESIDES - [+] redo all definitions in data.c
2012-03-11 12:39:33 +11:00
int maxroll;
float pctofmax;
int db = B_FALSE;
- [+] weakness spell should half melee damage. - [+] quaffed a potion of polymorph self... and nothing happened! - [+] only killing undead should please the god of life, not just killing anything evil - [+] klikirak shouldn't get angry when you take cold damage! - [+] fire sohuld convert flammable celltypes to another type: - [+] wood -> stone floor with pit - [+] carpet > stone - [+] increase flamepillar range - [+] warning before killing firebug on wood/carpet, if wisdom is at_high or above, and animal lore is high enough. - [+] make f_twohanded only apply up to a given lf size. - [+] implement - [+] then add "istwohandedfor(wep, lf)" - [+] then fix up ob defs in data.c - [+] unnatural growth/shrinkage spells should be temporary too (like potion) - [+] random polymorph code - [+] stay at the same TR, or one higher/lower! (same for player random polymorph) - [+] elephant - friendly to mammoans - [+] mammoth - [+] pixie (then pixie, dryad sprite = sylvan / fae) - [+] naiad / nixie - [+] blue 'n' - [+] low power charm to lure into water - [+] dagger/javelin - [+] throwing net - [+] resist magic 25% - [+] droid - zapper - [+] hoverscout (levitates, summons monsters) - [+] skellion - floating flaming skull, scream attack, flame melee - [+] fire primality should cast flame burst. - [+] don't modify monster hp based on fitness. - [+] storm primality / wind primality - [+] very fast - [+] 2 attacks - 1d5 each time. (pummel with debris / zapper) - [+] permenant windshield - [+] lesser: - [+] lightningbolt (lesser, 2d6) - [+] sleetstorm (lesser, 1-2 cold and slow movement) - [+] greater - [+] chain lightning (greater, 3d6) - [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on power) - [+] naiad (water sprite) - 'n' -blue - [+] good - [+] aquatic - [+] water spirit - [+] charm spell - [+] ling parasite - green 'x' - [+] turns one corpse into a zombie (dies in the process) - [+] add onion object. - [+] roc - [+] "crystal cur" - canine. only bashing works - [+] gems for corpses. - [+] bug: monsters not using spells. fixed. - [+] test NOSPELLS bug with rapidivy - [+] test low IQ spells with storm primality - [+] make hitdice be d8 rather than d4 - [+] change F_HITDICE - [+] add constant HITDIESIDES - [+] redo all definitions in data.c
2012-03-11 12:39:33 +11:00
int myfitness;
2011-02-01 06:16:13 +11:00
- [+] add f_nostam to undead. - [+] add nonausea rather than nosmell sometimes. - [+] rats should eb able to smell, but not get nauseated. - [+] fix triumph pleasure for bjorn. must be no monsters within LOF... or within radius ? - [+] and make it very low piety gain. - [+] remember which level we got flags form - [+] flag_t -> fromlev - [+] announce this in getflagcourse - [+] undead qualities - [+] no criticals - [+] don't naturally heal - [+] don't breath - [+] drainlevel(fromlf) - [+] check for dtresist necrotic - [+] fitness saving throw (difficulty is 100 + fromlf's level*6) - [+] call loselevel() - [+] loselevel() - [+] announce. - [+] drop maxhp. - [+] adjust hp appropriately - [+] lose any flags where >fromlev is too high. - [+] handle monk f_hasattack specially. - [+] getmonkdr(level) - [+] getmonkattacks(level) - [+] keep track of what stats we gained and lose them again. - [+] TEST level drain with cursed xp pot - [+] TEST level drain with stats... - [+] prevent drinking when wearing full-face masks like gas mask/football helmet - [+] implement f_COVERSFACE. - [+] add it to objects. - [+] check it when doing caneat() candrink() - [+] up their AC bonus too - [+] large scorpion - [+] hellhound - [+] large primalities - [+] new vault flag: usehabitat:xxx - [+] means "set the habitat of all vault cells to xxx" - [+] real_getrandomob() should be given a CELL, not MAP. - [+] getrandomobofclass() should be given a CELL, not MAP. - [+] use CELL habitat to determine random obs - [+] apply to caves - [+] vault scatter: ignore locked cells (ie. reusable ones) new vaults - [+] dualroom - [+] sauna - vhot! - [+] pentagram and demons new pionic spells - [+] chi bolt - low dam ranged attack 1d4 - [+] chi strike (l4) - add 1d4 explosive damage to melee hits
2012-12-03 16:12:29 +11:00
gethitdicestats(lf, &ndice,&nsides,&plus);
- [+] weakness spell should half melee damage. - [+] quaffed a potion of polymorph self... and nothing happened! - [+] only killing undead should please the god of life, not just killing anything evil - [+] klikirak shouldn't get angry when you take cold damage! - [+] fire sohuld convert flammable celltypes to another type: - [+] wood -> stone floor with pit - [+] carpet > stone - [+] increase flamepillar range - [+] warning before killing firebug on wood/carpet, if wisdom is at_high or above, and animal lore is high enough. - [+] make f_twohanded only apply up to a given lf size. - [+] implement - [+] then add "istwohandedfor(wep, lf)" - [+] then fix up ob defs in data.c - [+] unnatural growth/shrinkage spells should be temporary too (like potion) - [+] random polymorph code - [+] stay at the same TR, or one higher/lower! (same for player random polymorph) - [+] elephant - friendly to mammoans - [+] mammoth - [+] pixie (then pixie, dryad sprite = sylvan / fae) - [+] naiad / nixie - [+] blue 'n' - [+] low power charm to lure into water - [+] dagger/javelin - [+] throwing net - [+] resist magic 25% - [+] droid - zapper - [+] hoverscout (levitates, summons monsters) - [+] skellion - floating flaming skull, scream attack, flame melee - [+] fire primality should cast flame burst. - [+] don't modify monster hp based on fitness. - [+] storm primality / wind primality - [+] very fast - [+] 2 attacks - 1d5 each time. (pummel with debris / zapper) - [+] permenant windshield - [+] lesser: - [+] lightningbolt (lesser, 2d6) - [+] sleetstorm (lesser, 1-2 cold and slow movement) - [+] greater - [+] chain lightning (greater, 3d6) - [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on power) - [+] naiad (water sprite) - 'n' -blue - [+] good - [+] aquatic - [+] water spirit - [+] charm spell - [+] ling parasite - green 'x' - [+] turns one corpse into a zombie (dies in the process) - [+] add onion object. - [+] roc - [+] "crystal cur" - canine. only bashing works - [+] gems for corpses. - [+] bug: monsters not using spells. fixed. - [+] test NOSPELLS bug with rapidivy - [+] test low IQ spells with storm primality - [+] make hitdice be d8 rather than d4 - [+] change F_HITDICE - [+] add constant HITDIESIDES - [+] redo all definitions in data.c
2012-03-11 12:39:33 +11:00
maxroll = (ndice * nsides) + plus;
if (wantmax) {
- [+] weakness spell should half melee damage. - [+] quaffed a potion of polymorph self... and nothing happened! - [+] only killing undead should please the god of life, not just killing anything evil - [+] klikirak shouldn't get angry when you take cold damage! - [+] fire sohuld convert flammable celltypes to another type: - [+] wood -> stone floor with pit - [+] carpet > stone - [+] increase flamepillar range - [+] warning before killing firebug on wood/carpet, if wisdom is at_high or above, and animal lore is high enough. - [+] make f_twohanded only apply up to a given lf size. - [+] implement - [+] then add "istwohandedfor(wep, lf)" - [+] then fix up ob defs in data.c - [+] unnatural growth/shrinkage spells should be temporary too (like potion) - [+] random polymorph code - [+] stay at the same TR, or one higher/lower! (same for player random polymorph) - [+] elephant - friendly to mammoans - [+] mammoth - [+] pixie (then pixie, dryad sprite = sylvan / fae) - [+] naiad / nixie - [+] blue 'n' - [+] low power charm to lure into water - [+] dagger/javelin - [+] throwing net - [+] resist magic 25% - [+] droid - zapper - [+] hoverscout (levitates, summons monsters) - [+] skellion - floating flaming skull, scream attack, flame melee - [+] fire primality should cast flame burst. - [+] don't modify monster hp based on fitness. - [+] storm primality / wind primality - [+] very fast - [+] 2 attacks - 1d5 each time. (pummel with debris / zapper) - [+] permenant windshield - [+] lesser: - [+] lightningbolt (lesser, 2d6) - [+] sleetstorm (lesser, 1-2 cold and slow movement) - [+] greater - [+] chain lightning (greater, 3d6) - [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on power) - [+] naiad (water sprite) - 'n' -blue - [+] good - [+] aquatic - [+] water spirit - [+] charm spell - [+] ling parasite - green 'x' - [+] turns one corpse into a zombie (dies in the process) - [+] add onion object. - [+] roc - [+] "crystal cur" - canine. only bashing works - [+] gems for corpses. - [+] bug: monsters not using spells. fixed. - [+] test NOSPELLS bug with rapidivy - [+] test low IQ spells with storm primality - [+] make hitdice be d8 rather than d4 - [+] change F_HITDICE - [+] add constant HITDIESIDES - [+] redo all definitions in data.c
2012-03-11 12:39:33 +11:00
myroll = maxroll;
} else {
myroll = rolldie(ndice, nsides) + plus;
2011-02-01 06:16:13 +11:00
}
2011-03-10 16:47:18 +11:00
- [+] intelligent (ie. more than animal) ai shouldn't move if it will cause damage - [+] move_will_hurt() - [+] ie. if in PAIN, or appropriate injury. - [+] if you're deaf, use "the xx says something" rather than "the xx says yy" - [+] STILL reachability errors in dlev 6 (jimbos' lair not linked) - [+] new forest habitat mechanism - clusters of trees - [+] bashing injury if you are slammed into a wall? - [+] jimbo didn't have a weapon! "+2 halberd" not working - [+] if you don't have knowledge about a creature, still show items (but only equipped ones) - [+] listen skill should take longer to train - [+] candle should last longer - [+] carrot grants temp darkvision - [+] shouldn't be able to eat stuff from floor while levitating - [+] CHANGE f_hitdice to use text - [+] fear spell from dretch always failing even on l1 player. why? * [+] summondemon spell - [+] adjust spell damage - 1d6 per level. ice spells: - [+] l4 - ice armour (higher power means more pieces of ice armour) - [+] (power/3)+1 pieces of armour. ie. 1 - 4 - [+] order: body,helmet, gloves, feet - [+] 4AC each. * [+] l5 - shardshot (higher level ray damage, does less damage the further away it goes) - [+] l5 - snap freeze ? turn one lf to ice? - [+] more things which use light attacks (ie. make glasses useful) - [+] replace bp_righthand with bp_rightfinger - [+] bug in blink spell: "Nothing seems to happen." - [+] make metal resist bite/slash/chop, not be immune. - [+] fix shatter spell on glass wall * [+] bug: in jimbos vault and plaeyrstart2, exits are being added in in appropriate places. * [+] make player's starting point be a "prison_cell" vault. - [+] earplugs - stop all sound. - [+] make f_deaf an intrinsic (ie. announcements) - [+] add the object critical hits: - [+] "you hit xxx" "xxx turns to flee" "xxx's leg is bruised" - [+] need losehp to NOT trigger fightback in this case - we will trigger it ourself after crithit. - [+] pass this as a param? - [+] critical eye hits - [+] scraped eyelid (slash, lower accuracy) - [+] black eye (bash, lower vision range and charisma) - [+] destroyed eye (pierce, permenant lower vision range!) - [+] injuries heal heaps faster when asleep - [+] redo f_injured flag to use an "enum INJURY" IJ_xxx - [+] change how it is applied - [+] change how it is announced (io.c) - [+] change how effects work (search for F_INJURY) - [+] pierce - [+] pierced artery: v.high bleed - [+] stabbed heart (instant death, very unlikely) - [+] slash: - [+] cut flexor tendon (cannot weild ANY weapon) - [+] slashed hamstring (fall. skillcehck every time you move, vslow movement) - [+] severed finger - [+] finger drops to the ground - [+] ring drops to the ground - [+] (get nobodypart bp_rightfinger or bp_leftfinger) - [+] bash: - [+] dislocated arm (cannot weild anything heavy in that hand) - [+] broken rib (reduced carrying capacity) - [+] swelled ankle (cannot remove or put on boots)
2011-09-06 08:04:51 +10:00
if (db) dblog("TOTAL: %d",myroll);
* [+] 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
// modify for fitness/con
- [+] weakness spell should half melee damage. - [+] quaffed a potion of polymorph self... and nothing happened! - [+] only killing undead should please the god of life, not just killing anything evil - [+] klikirak shouldn't get angry when you take cold damage! - [+] fire sohuld convert flammable celltypes to another type: - [+] wood -> stone floor with pit - [+] carpet > stone - [+] increase flamepillar range - [+] warning before killing firebug on wood/carpet, if wisdom is at_high or above, and animal lore is high enough. - [+] make f_twohanded only apply up to a given lf size. - [+] implement - [+] then add "istwohandedfor(wep, lf)" - [+] then fix up ob defs in data.c - [+] unnatural growth/shrinkage spells should be temporary too (like potion) - [+] random polymorph code - [+] stay at the same TR, or one higher/lower! (same for player random polymorph) - [+] elephant - friendly to mammoans - [+] mammoth - [+] pixie (then pixie, dryad sprite = sylvan / fae) - [+] naiad / nixie - [+] blue 'n' - [+] low power charm to lure into water - [+] dagger/javelin - [+] throwing net - [+] resist magic 25% - [+] droid - zapper - [+] hoverscout (levitates, summons monsters) - [+] skellion - floating flaming skull, scream attack, flame melee - [+] fire primality should cast flame burst. - [+] don't modify monster hp based on fitness. - [+] storm primality / wind primality - [+] very fast - [+] 2 attacks - 1d5 each time. (pummel with debris / zapper) - [+] permenant windshield - [+] lesser: - [+] lightningbolt (lesser, 2d6) - [+] sleetstorm (lesser, 1-2 cold and slow movement) - [+] greater - [+] chain lightning (greater, 3d6) - [+] hailstorm (greater, 1d6 cold and 1d4-5d4 depending on power) - [+] naiad (water sprite) - 'n' -blue - [+] good - [+] aquatic - [+] water spirit - [+] charm spell - [+] ling parasite - green 'x' - [+] turns one corpse into a zombie (dies in the process) - [+] add onion object. - [+] roc - [+] "crystal cur" - canine. only bashing works - [+] gems for corpses. - [+] bug: monsters not using spells. fixed. - [+] test NOSPELLS bug with rapidivy - [+] test low IQ spells with storm primality - [+] make hitdice be d8 rather than d4 - [+] change F_HITDICE - [+] add constant HITDIESIDES - [+] redo all definitions in data.c
2012-03-11 12:39:33 +11:00
if (isplayer(lf)) {
pctofmax = ((float)myroll / (float) maxroll) * 100.0;
myfitness = getattr(lf, A_CON);
if (pctofmax < myfitness) {
myroll = pctof(myfitness, maxroll);
if (db) dblog(" -> modified by fitness to: %d",myroll);
}
}
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to cmoe from lore:arcana instead - [+] rename magic skillls to sorcery:fire etc? - [+] adjust spell power calculation to take lack of sorcery skill int oaccount - [+] allow '\' during getchoice() and getchoicestr() - [+] so that we can see what we have identified - [+] lower metabolism while lmeditating - [+] poisonous mushrooms - [+] toadstool - poisonous - [+] shiitake - normal - [+] recognise via cooking skill - [+] if you add a blood ob, 1 randmo piece of armour in the pile becomes bloodstained - [+] accuracy boost when attacking something who has grabbedyou - [+] lessen gravitiy should prvent falls * [+] bug: - [+] add job descriptions - [+] handle ESC in askchar - [+] You attack the helpless the xat! You flatten the xat! - [+] "the helpless the xat" - [+] shoiuldn't use "flatten" sinec we're not killing it - [+] You attack the helpless xat! You kill the xat! - [+] ...but it wasn't dead! - [+] flame pillar scroll no longer works - [+] not asking for target. - [+] use castspell - [+] cope with 'ESC' presses during normal travel - [+] allow "maycancel" in askchar - [+] make wizards NOT automatically know wild magic - [+] is F_MPMOD working? check with elf wizard....... - [+] now it is. - [+] bug: create an elf, go over it, v - CRASH in makedesc_race. - [+] removeob() should update burdened status - [+] ie drinking a potion - [+] wizards start with a staff and a pointy hat - [+] don't "stir in your slumber" if meditating - [+] elves should have higher mp - [+] dwarves should have lower mp - [+] when monsters fail to open a door, abandon their targetcell - [+] might be able to jsut make failing a dooropen count as a move failure. - [+] HiGrv didn't stop me from moving? i passed the skill check, need to have a msg telling me this. - [+] race descriptions. - [+] add the descriptions - [+] ? in @@ shows info on them. - [+] (add ?=help in the bottom when in @ mode regardless of showall) - [+] make clouds expand as they disappate - [+] modify gethitstokill() to take "useevasion" and "usearmour" as a parameter - [+] at adept lore, you get threat comparison. at skilled level you get exact hit turns. - [+] make threat calculation use gethitstokill - [+] TEST new threat calc * [+] way too easy to notice traps on chests from 4-5 cells away, with only novice perception - [+] make cloudkill create puff of poison gas rather than a cloud - [+] attacking should count as movement (ie dont regen stamina) - [+] need more body bash criticals. - [+] torso bruised (acc penalty) - [+] torso bruised badly (higher acc penalty, low dam penalty) - [+] ribs broken (huge acc penalty, med dam penalty) - [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3 turns) - [+] should stop flying when you lose ocnsciousness... - [+] warn before moving with f_pain as well. maybe cahnge confirm_injiury_action ??? - [+] extra warrior skill: aimed strike - [+] -50%acc - [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
limit(&myroll, 1, NA);
- [+] intelligent (ie. more than animal) ai shouldn't move if it will cause damage - [+] move_will_hurt() - [+] ie. if in PAIN, or appropriate injury. - [+] if you're deaf, use "the xx says something" rather than "the xx says yy" - [+] STILL reachability errors in dlev 6 (jimbos' lair not linked) - [+] new forest habitat mechanism - clusters of trees - [+] bashing injury if you are slammed into a wall? - [+] jimbo didn't have a weapon! "+2 halberd" not working - [+] if you don't have knowledge about a creature, still show items (but only equipped ones) - [+] listen skill should take longer to train - [+] candle should last longer - [+] carrot grants temp darkvision - [+] shouldn't be able to eat stuff from floor while levitating - [+] CHANGE f_hitdice to use text - [+] fear spell from dretch always failing even on l1 player. why? * [+] summondemon spell - [+] adjust spell damage - 1d6 per level. ice spells: - [+] l4 - ice armour (higher power means more pieces of ice armour) - [+] (power/3)+1 pieces of armour. ie. 1 - 4 - [+] order: body,helmet, gloves, feet - [+] 4AC each. * [+] l5 - shardshot (higher level ray damage, does less damage the further away it goes) - [+] l5 - snap freeze ? turn one lf to ice? - [+] more things which use light attacks (ie. make glasses useful) - [+] replace bp_righthand with bp_rightfinger - [+] bug in blink spell: "Nothing seems to happen." - [+] make metal resist bite/slash/chop, not be immune. - [+] fix shatter spell on glass wall * [+] bug: in jimbos vault and plaeyrstart2, exits are being added in in appropriate places. * [+] make player's starting point be a "prison_cell" vault. - [+] earplugs - stop all sound. - [+] make f_deaf an intrinsic (ie. announcements) - [+] add the object critical hits: - [+] "you hit xxx" "xxx turns to flee" "xxx's leg is bruised" - [+] need losehp to NOT trigger fightback in this case - we will trigger it ourself after crithit. - [+] pass this as a param? - [+] critical eye hits - [+] scraped eyelid (slash, lower accuracy) - [+] black eye (bash, lower vision range and charisma) - [+] destroyed eye (pierce, permenant lower vision range!) - [+] injuries heal heaps faster when asleep - [+] redo f_injured flag to use an "enum INJURY" IJ_xxx - [+] change how it is applied - [+] change how it is announced (io.c) - [+] change how effects work (search for F_INJURY) - [+] pierce - [+] pierced artery: v.high bleed - [+] stabbed heart (instant death, very unlikely) - [+] slash: - [+] cut flexor tendon (cannot weild ANY weapon) - [+] slashed hamstring (fall. skillcehck every time you move, vslow movement) - [+] severed finger - [+] finger drops to the ground - [+] ring drops to the ground - [+] (get nobodypart bp_rightfinger or bp_leftfinger) - [+] bash: - [+] dislocated arm (cannot weild anything heavy in that hand) - [+] broken rib (reduced carrying capacity) - [+] swelled ankle (cannot remove or put on boots)
2011-09-06 08:04:51 +10:00
return myroll;
2011-02-01 06:16:13 +11:00
}
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to cmoe from lore:arcana instead - [+] rename magic skillls to sorcery:fire etc? - [+] adjust spell power calculation to take lack of sorcery skill int oaccount - [+] allow '\' during getchoice() and getchoicestr() - [+] so that we can see what we have identified - [+] lower metabolism while lmeditating - [+] poisonous mushrooms - [+] toadstool - poisonous - [+] shiitake - normal - [+] recognise via cooking skill - [+] if you add a blood ob, 1 randmo piece of armour in the pile becomes bloodstained - [+] accuracy boost when attacking something who has grabbedyou - [+] lessen gravitiy should prvent falls * [+] bug: - [+] add job descriptions - [+] handle ESC in askchar - [+] You attack the helpless the xat! You flatten the xat! - [+] "the helpless the xat" - [+] shoiuldn't use "flatten" sinec we're not killing it - [+] You attack the helpless xat! You kill the xat! - [+] ...but it wasn't dead! - [+] flame pillar scroll no longer works - [+] not asking for target. - [+] use castspell - [+] cope with 'ESC' presses during normal travel - [+] allow "maycancel" in askchar - [+] make wizards NOT automatically know wild magic - [+] is F_MPMOD working? check with elf wizard....... - [+] now it is. - [+] bug: create an elf, go over it, v - CRASH in makedesc_race. - [+] removeob() should update burdened status - [+] ie drinking a potion - [+] wizards start with a staff and a pointy hat - [+] don't "stir in your slumber" if meditating - [+] elves should have higher mp - [+] dwarves should have lower mp - [+] when monsters fail to open a door, abandon their targetcell - [+] might be able to jsut make failing a dooropen count as a move failure. - [+] HiGrv didn't stop me from moving? i passed the skill check, need to have a msg telling me this. - [+] race descriptions. - [+] add the descriptions - [+] ? in @@ shows info on them. - [+] (add ?=help in the bottom when in @ mode regardless of showall) - [+] make clouds expand as they disappate - [+] modify gethitstokill() to take "useevasion" and "usearmour" as a parameter - [+] at adept lore, you get threat comparison. at skilled level you get exact hit turns. - [+] make threat calculation use gethitstokill - [+] TEST new threat calc * [+] way too easy to notice traps on chests from 4-5 cells away, with only novice perception - [+] make cloudkill create puff of poison gas rather than a cloud - [+] attacking should count as movement (ie dont regen stamina) - [+] need more body bash criticals. - [+] torso bruised (acc penalty) - [+] torso bruised badly (higher acc penalty, low dam penalty) - [+] ribs broken (huge acc penalty, med dam penalty) - [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3 turns) - [+] should stop flying when you lose ocnsciousness... - [+] warn before moving with f_pain as well. maybe cahnge confirm_injiury_action ??? - [+] extra warrior skill: aimed strike - [+] -50%acc - [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
int rollmpdice(lifeform_t *lf, int wantmax) {
int ndice, plus,roll,i;
2011-03-16 15:45:46 +11:00
float mod;
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to cmoe from lore:arcana instead - [+] rename magic skillls to sorcery:fire etc? - [+] adjust spell power calculation to take lack of sorcery skill int oaccount - [+] allow '\' during getchoice() and getchoicestr() - [+] so that we can see what we have identified - [+] lower metabolism while lmeditating - [+] poisonous mushrooms - [+] toadstool - poisonous - [+] shiitake - normal - [+] recognise via cooking skill - [+] if you add a blood ob, 1 randmo piece of armour in the pile becomes bloodstained - [+] accuracy boost when attacking something who has grabbedyou - [+] lessen gravitiy should prvent falls * [+] bug: - [+] add job descriptions - [+] handle ESC in askchar - [+] You attack the helpless the xat! You flatten the xat! - [+] "the helpless the xat" - [+] shoiuldn't use "flatten" sinec we're not killing it - [+] You attack the helpless xat! You kill the xat! - [+] ...but it wasn't dead! - [+] flame pillar scroll no longer works - [+] not asking for target. - [+] use castspell - [+] cope with 'ESC' presses during normal travel - [+] allow "maycancel" in askchar - [+] make wizards NOT automatically know wild magic - [+] is F_MPMOD working? check with elf wizard....... - [+] now it is. - [+] bug: create an elf, go over it, v - CRASH in makedesc_race. - [+] removeob() should update burdened status - [+] ie drinking a potion - [+] wizards start with a staff and a pointy hat - [+] don't "stir in your slumber" if meditating - [+] elves should have higher mp - [+] dwarves should have lower mp - [+] when monsters fail to open a door, abandon their targetcell - [+] might be able to jsut make failing a dooropen count as a move failure. - [+] HiGrv didn't stop me from moving? i passed the skill check, need to have a msg telling me this. - [+] race descriptions. - [+] add the descriptions - [+] ? in @@ shows info on them. - [+] (add ?=help in the bottom when in @ mode regardless of showall) - [+] make clouds expand as they disappate - [+] modify gethitstokill() to take "useevasion" and "usearmour" as a parameter - [+] at adept lore, you get threat comparison. at skilled level you get exact hit turns. - [+] make threat calculation use gethitstokill - [+] TEST new threat calc * [+] way too easy to notice traps on chests from 4-5 cells away, with only novice perception - [+] make cloudkill create puff of poison gas rather than a cloud - [+] attacking should count as movement (ie dont regen stamina) - [+] need more body bash criticals. - [+] torso bruised (acc penalty) - [+] torso bruised badly (higher acc penalty, low dam penalty) - [+] ribs broken (huge acc penalty, med dam penalty) - [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3 turns) - [+] should stop flying when you lose ocnsciousness... - [+] warn before moving with f_pain as well. maybe cahnge confirm_injiury_action ??? - [+] extra warrior skill: aimed strike - [+] -50%acc - [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
flag_t *retflag[MAXCANDIDATES];
int nretflags;
- [+] add f_nostam to undead. - [+] add nonausea rather than nosmell sometimes. - [+] rats should eb able to smell, but not get nauseated. - [+] fix triumph pleasure for bjorn. must be no monsters within LOF... or within radius ? - [+] and make it very low piety gain. - [+] remember which level we got flags form - [+] flag_t -> fromlev - [+] announce this in getflagcourse - [+] undead qualities - [+] no criticals - [+] don't naturally heal - [+] don't breath - [+] drainlevel(fromlf) - [+] check for dtresist necrotic - [+] fitness saving throw (difficulty is 100 + fromlf's level*6) - [+] call loselevel() - [+] loselevel() - [+] announce. - [+] drop maxhp. - [+] adjust hp appropriately - [+] lose any flags where >fromlev is too high. - [+] handle monk f_hasattack specially. - [+] getmonkdr(level) - [+] getmonkattacks(level) - [+] keep track of what stats we gained and lose them again. - [+] TEST level drain with cursed xp pot - [+] TEST level drain with stats... - [+] prevent drinking when wearing full-face masks like gas mask/football helmet - [+] implement f_COVERSFACE. - [+] add it to objects. - [+] check it when doing caneat() candrink() - [+] up their AC bonus too - [+] large scorpion - [+] hellhound - [+] large primalities - [+] new vault flag: usehabitat:xxx - [+] means "set the habitat of all vault cells to xxx" - [+] real_getrandomob() should be given a CELL, not MAP. - [+] getrandomobofclass() should be given a CELL, not MAP. - [+] use CELL habitat to determine random obs - [+] apply to caves - [+] vault scatter: ignore locked cells (ie. reusable ones) new vaults - [+] dualroom - [+] sauna - vhot! - [+] pentagram and demons new pionic spells - [+] chi bolt - low dam ranged attack 1d4 - [+] chi strike (l4) - add 1d4 explosive damage to melee hits
2012-12-03 16:12:29 +11:00
int max;
2011-02-01 06:16:13 +11:00
- [+] corpse colours aren't working anymore. - [+] bug: knocking a sleeping lf unconscious fails, they kepe sleeping. need to change the f_sleeping flag! - [+] another secret door bug: can identify them in askcoords!! fixed. - [+] wrong order for text: - [+] You attack the helpless kobold! You kill the kobold! The kobold shouts "This isn't over!". - [+] SOLUTION: say "the dying kobold shouts ...." - [+] only use death text somtimes. random chance. - [+] force player sarting dir to be the one with the most LOS cells. - [+] avian/ashkari monks - [+] at both initial creation and levleup: - [+] need to update hasattack claws, not hasattack fists. - [+] genericise this to just use whatever f_hasattack flag you have? - [+] bug with flying creatures falling: - [+] You miss the giant bat. The giant bat bites you. The giant bat stops flying. The giant bat falls to the ground. The giant bat's ribs are cracked! - [+] was causing ATTACKER to fall, not defender. - [+] fix bug with objects falling through pits. - [+] new sewer map type: - [+] BUG: getting empty map!!! - [+] roomon etc is good. - [+] but map empty - [+] probably an issue with corridor vs section size... - [+] make drains be locked again - [+] grating causes stench - [+] monsters: - [+] aquatic animals (piranha, merloch, etc) - [+] slimes - [+] troglodytes (and anything which causes stench) - [+] rats - [+] water snakes - [+] drains should make sounds ("you hear a drip") - [+] snakes shouldn't get nauseated. - [+] F_NOSMELL. - [+] feigh death shouldn't work on things which are attached to you (leech/mosquitoid) - [+] stores should never sell gold coins!!! - [+] givestartobs() - give a potion of water instead if it's going to a shop - [+] no resting when raged - [+] make MAXIMUM map height higher. bumped from 20 to 30. - [+] grating cell/object? - [+] liquids fall through it. - [+] to unlock it: - [+] loosen with spanner - [+] knock spell - [+] pick the lock - [+] lock hacker
2011-11-30 13:06:16 +11:00
if (lfhasflag(lf, F_NOSPELLS)) {
return 0;
}
- [+] add f_nostam to undead. - [+] add nonausea rather than nosmell sometimes. - [+] rats should eb able to smell, but not get nauseated. - [+] fix triumph pleasure for bjorn. must be no monsters within LOF... or within radius ? - [+] and make it very low piety gain. - [+] remember which level we got flags form - [+] flag_t -> fromlev - [+] announce this in getflagcourse - [+] undead qualities - [+] no criticals - [+] don't naturally heal - [+] don't breath - [+] drainlevel(fromlf) - [+] check for dtresist necrotic - [+] fitness saving throw (difficulty is 100 + fromlf's level*6) - [+] call loselevel() - [+] loselevel() - [+] announce. - [+] drop maxhp. - [+] adjust hp appropriately - [+] lose any flags where >fromlev is too high. - [+] handle monk f_hasattack specially. - [+] getmonkdr(level) - [+] getmonkattacks(level) - [+] keep track of what stats we gained and lose them again. - [+] TEST level drain with cursed xp pot - [+] TEST level drain with stats... - [+] prevent drinking when wearing full-face masks like gas mask/football helmet - [+] implement f_COVERSFACE. - [+] add it to objects. - [+] check it when doing caneat() candrink() - [+] up their AC bonus too - [+] large scorpion - [+] hellhound - [+] large primalities - [+] new vault flag: usehabitat:xxx - [+] means "set the habitat of all vault cells to xxx" - [+] real_getrandomob() should be given a CELL, not MAP. - [+] getrandomobofclass() should be given a CELL, not MAP. - [+] use CELL habitat to determine random obs - [+] apply to caves - [+] vault scatter: ignore locked cells (ie. reusable ones) new vaults - [+] dualroom - [+] sauna - vhot! - [+] pentagram and demons new pionic spells - [+] chi bolt - low dam ranged attack 1d4 - [+] chi strike (l4) - add 1d4 explosive damage to melee hits
2012-12-03 16:12:29 +11:00
getmpdicestats(lf, &ndice,&plus);
max = (ndice * 4) + plus;
if (max <= 0) return 0;
2011-03-16 15:45:46 +11:00
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to cmoe from lore:arcana instead - [+] rename magic skillls to sorcery:fire etc? - [+] adjust spell power calculation to take lack of sorcery skill int oaccount - [+] allow '\' during getchoice() and getchoicestr() - [+] so that we can see what we have identified - [+] lower metabolism while lmeditating - [+] poisonous mushrooms - [+] toadstool - poisonous - [+] shiitake - normal - [+] recognise via cooking skill - [+] if you add a blood ob, 1 randmo piece of armour in the pile becomes bloodstained - [+] accuracy boost when attacking something who has grabbedyou - [+] lessen gravitiy should prvent falls * [+] bug: - [+] add job descriptions - [+] handle ESC in askchar - [+] You attack the helpless the xat! You flatten the xat! - [+] "the helpless the xat" - [+] shoiuldn't use "flatten" sinec we're not killing it - [+] You attack the helpless xat! You kill the xat! - [+] ...but it wasn't dead! - [+] flame pillar scroll no longer works - [+] not asking for target. - [+] use castspell - [+] cope with 'ESC' presses during normal travel - [+] allow "maycancel" in askchar - [+] make wizards NOT automatically know wild magic - [+] is F_MPMOD working? check with elf wizard....... - [+] now it is. - [+] bug: create an elf, go over it, v - CRASH in makedesc_race. - [+] removeob() should update burdened status - [+] ie drinking a potion - [+] wizards start with a staff and a pointy hat - [+] don't "stir in your slumber" if meditating - [+] elves should have higher mp - [+] dwarves should have lower mp - [+] when monsters fail to open a door, abandon their targetcell - [+] might be able to jsut make failing a dooropen count as a move failure. - [+] HiGrv didn't stop me from moving? i passed the skill check, need to have a msg telling me this. - [+] race descriptions. - [+] add the descriptions - [+] ? in @@ shows info on them. - [+] (add ?=help in the bottom when in @ mode regardless of showall) - [+] make clouds expand as they disappate - [+] modify gethitstokill() to take "useevasion" and "usearmour" as a parameter - [+] at adept lore, you get threat comparison. at skilled level you get exact hit turns. - [+] make threat calculation use gethitstokill - [+] TEST new threat calc * [+] way too easy to notice traps on chests from 4-5 cells away, with only novice perception - [+] make cloudkill create puff of poison gas rather than a cloud - [+] attacking should count as movement (ie dont regen stamina) - [+] need more body bash criticals. - [+] torso bruised (acc penalty) - [+] torso bruised badly (higher acc penalty, low dam penalty) - [+] ribs broken (huge acc penalty, med dam penalty) - [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3 turns) - [+] should stop flying when you lose ocnsciousness... - [+] warn before moving with f_pain as well. maybe cahnge confirm_injiury_action ??? - [+] extra warrior skill: aimed strike - [+] -50%acc - [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
if (wantmax) {
- [+] add f_nostam to undead. - [+] add nonausea rather than nosmell sometimes. - [+] rats should eb able to smell, but not get nauseated. - [+] fix triumph pleasure for bjorn. must be no monsters within LOF... or within radius ? - [+] and make it very low piety gain. - [+] remember which level we got flags form - [+] flag_t -> fromlev - [+] announce this in getflagcourse - [+] undead qualities - [+] no criticals - [+] don't naturally heal - [+] don't breath - [+] drainlevel(fromlf) - [+] check for dtresist necrotic - [+] fitness saving throw (difficulty is 100 + fromlf's level*6) - [+] call loselevel() - [+] loselevel() - [+] announce. - [+] drop maxhp. - [+] adjust hp appropriately - [+] lose any flags where >fromlev is too high. - [+] handle monk f_hasattack specially. - [+] getmonkdr(level) - [+] getmonkattacks(level) - [+] keep track of what stats we gained and lose them again. - [+] TEST level drain with cursed xp pot - [+] TEST level drain with stats... - [+] prevent drinking when wearing full-face masks like gas mask/football helmet - [+] implement f_COVERSFACE. - [+] add it to objects. - [+] check it when doing caneat() candrink() - [+] up their AC bonus too - [+] large scorpion - [+] hellhound - [+] large primalities - [+] new vault flag: usehabitat:xxx - [+] means "set the habitat of all vault cells to xxx" - [+] real_getrandomob() should be given a CELL, not MAP. - [+] getrandomobofclass() should be given a CELL, not MAP. - [+] use CELL habitat to determine random obs - [+] apply to caves - [+] vault scatter: ignore locked cells (ie. reusable ones) new vaults - [+] dualroom - [+] sauna - vhot! - [+] pentagram and demons new pionic spells - [+] chi bolt - low dam ranged attack 1d4 - [+] chi strike (l4) - add 1d4 explosive damage to melee hits
2012-12-03 16:12:29 +11:00
roll = max;
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to cmoe from lore:arcana instead - [+] rename magic skillls to sorcery:fire etc? - [+] adjust spell power calculation to take lack of sorcery skill int oaccount - [+] allow '\' during getchoice() and getchoicestr() - [+] so that we can see what we have identified - [+] lower metabolism while lmeditating - [+] poisonous mushrooms - [+] toadstool - poisonous - [+] shiitake - normal - [+] recognise via cooking skill - [+] if you add a blood ob, 1 randmo piece of armour in the pile becomes bloodstained - [+] accuracy boost when attacking something who has grabbedyou - [+] lessen gravitiy should prvent falls * [+] bug: - [+] add job descriptions - [+] handle ESC in askchar - [+] You attack the helpless the xat! You flatten the xat! - [+] "the helpless the xat" - [+] shoiuldn't use "flatten" sinec we're not killing it - [+] You attack the helpless xat! You kill the xat! - [+] ...but it wasn't dead! - [+] flame pillar scroll no longer works - [+] not asking for target. - [+] use castspell - [+] cope with 'ESC' presses during normal travel - [+] allow "maycancel" in askchar - [+] make wizards NOT automatically know wild magic - [+] is F_MPMOD working? check with elf wizard....... - [+] now it is. - [+] bug: create an elf, go over it, v - CRASH in makedesc_race. - [+] removeob() should update burdened status - [+] ie drinking a potion - [+] wizards start with a staff and a pointy hat - [+] don't "stir in your slumber" if meditating - [+] elves should have higher mp - [+] dwarves should have lower mp - [+] when monsters fail to open a door, abandon their targetcell - [+] might be able to jsut make failing a dooropen count as a move failure. - [+] HiGrv didn't stop me from moving? i passed the skill check, need to have a msg telling me this. - [+] race descriptions. - [+] add the descriptions - [+] ? in @@ shows info on them. - [+] (add ?=help in the bottom when in @ mode regardless of showall) - [+] make clouds expand as they disappate - [+] modify gethitstokill() to take "useevasion" and "usearmour" as a parameter - [+] at adept lore, you get threat comparison. at skilled level you get exact hit turns. - [+] make threat calculation use gethitstokill - [+] TEST new threat calc * [+] way too easy to notice traps on chests from 4-5 cells away, with only novice perception - [+] make cloudkill create puff of poison gas rather than a cloud - [+] attacking should count as movement (ie dont regen stamina) - [+] need more body bash criticals. - [+] torso bruised (acc penalty) - [+] torso bruised badly (higher acc penalty, low dam penalty) - [+] ribs broken (huge acc penalty, med dam penalty) - [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3 turns) - [+] should stop flying when you lose ocnsciousness... - [+] warn before moving with f_pain as well. maybe cahnge confirm_injiury_action ??? - [+] extra warrior skill: aimed strike - [+] -50%acc - [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
} else {
roll = rolldie(ndice, 4) + plus;
}
- [+] add f_nostam to undead. - [+] add nonausea rather than nosmell sometimes. - [+] rats should eb able to smell, but not get nauseated. - [+] fix triumph pleasure for bjorn. must be no monsters within LOF... or within radius ? - [+] and make it very low piety gain. - [+] remember which level we got flags form - [+] flag_t -> fromlev - [+] announce this in getflagcourse - [+] undead qualities - [+] no criticals - [+] don't naturally heal - [+] don't breath - [+] drainlevel(fromlf) - [+] check for dtresist necrotic - [+] fitness saving throw (difficulty is 100 + fromlf's level*6) - [+] call loselevel() - [+] loselevel() - [+] announce. - [+] drop maxhp. - [+] adjust hp appropriately - [+] lose any flags where >fromlev is too high. - [+] handle monk f_hasattack specially. - [+] getmonkdr(level) - [+] getmonkattacks(level) - [+] keep track of what stats we gained and lose them again. - [+] TEST level drain with cursed xp pot - [+] TEST level drain with stats... - [+] prevent drinking when wearing full-face masks like gas mask/football helmet - [+] implement f_COVERSFACE. - [+] add it to objects. - [+] check it when doing caneat() candrink() - [+] up their AC bonus too - [+] large scorpion - [+] hellhound - [+] large primalities - [+] new vault flag: usehabitat:xxx - [+] means "set the habitat of all vault cells to xxx" - [+] real_getrandomob() should be given a CELL, not MAP. - [+] getrandomobofclass() should be given a CELL, not MAP. - [+] use CELL habitat to determine random obs - [+] apply to caves - [+] vault scatter: ignore locked cells (ie. reusable ones) new vaults - [+] dualroom - [+] sauna - vhot! - [+] pentagram and demons new pionic spells - [+] chi bolt - low dam ranged attack 1d4 - [+] chi strike (l4) - add 1d4 explosive damage to melee hits
2012-12-03 16:12:29 +11:00
mod = 100 + getstatmod(lf, A_IQ);
* [+] 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
roll = pctof(mod, roll);
- [+] get rid of "sorcery" skill, and move 'study scrolls' ability to cmoe from lore:arcana instead - [+] rename magic skillls to sorcery:fire etc? - [+] adjust spell power calculation to take lack of sorcery skill int oaccount - [+] allow '\' during getchoice() and getchoicestr() - [+] so that we can see what we have identified - [+] lower metabolism while lmeditating - [+] poisonous mushrooms - [+] toadstool - poisonous - [+] shiitake - normal - [+] recognise via cooking skill - [+] if you add a blood ob, 1 randmo piece of armour in the pile becomes bloodstained - [+] accuracy boost when attacking something who has grabbedyou - [+] lessen gravitiy should prvent falls * [+] bug: - [+] add job descriptions - [+] handle ESC in askchar - [+] You attack the helpless the xat! You flatten the xat! - [+] "the helpless the xat" - [+] shoiuldn't use "flatten" sinec we're not killing it - [+] You attack the helpless xat! You kill the xat! - [+] ...but it wasn't dead! - [+] flame pillar scroll no longer works - [+] not asking for target. - [+] use castspell - [+] cope with 'ESC' presses during normal travel - [+] allow "maycancel" in askchar - [+] make wizards NOT automatically know wild magic - [+] is F_MPMOD working? check with elf wizard....... - [+] now it is. - [+] bug: create an elf, go over it, v - CRASH in makedesc_race. - [+] removeob() should update burdened status - [+] ie drinking a potion - [+] wizards start with a staff and a pointy hat - [+] don't "stir in your slumber" if meditating - [+] elves should have higher mp - [+] dwarves should have lower mp - [+] when monsters fail to open a door, abandon their targetcell - [+] might be able to jsut make failing a dooropen count as a move failure. - [+] HiGrv didn't stop me from moving? i passed the skill check, need to have a msg telling me this. - [+] race descriptions. - [+] add the descriptions - [+] ? in @@ shows info on them. - [+] (add ?=help in the bottom when in @ mode regardless of showall) - [+] make clouds expand as they disappate - [+] modify gethitstokill() to take "useevasion" and "usearmour" as a parameter - [+] at adept lore, you get threat comparison. at skilled level you get exact hit turns. - [+] make threat calculation use gethitstokill - [+] TEST new threat calc * [+] way too easy to notice traps on chests from 4-5 cells away, with only novice perception - [+] make cloudkill create puff of poison gas rather than a cloud - [+] attacking should count as movement (ie dont regen stamina) - [+] need more body bash criticals. - [+] torso bruised (acc penalty) - [+] torso bruised badly (higher acc penalty, low dam penalty) - [+] ribs broken (huge acc penalty, med dam penalty) - [+] lungs winded (stam=0 onetimeeffect, fit -1, only lasts a 2-3 turns) - [+] should stop flying when you lose ocnsciousness... - [+] warn before moving with f_pain as well. maybe cahnge confirm_injiury_action ??? - [+] extra warrior skill: aimed strike - [+] -50%acc - [+] auto crit on the part you select (if you hit)
2011-10-13 08:15:48 +11:00
// modify via racial flags
getflags(lf->flags, retflag, &nretflags, F_MPMOD, F_NONE);
for (i = 0; i < nretflags; i++) {
roll += retflag[i]->val[0];
}
limit(&roll, 0, NA);
2011-02-01 06:16:13 +11:00
return roll;
}
/*
2010-12-02 12:17:54 +11:00
void sortlf(map_t *map) {
int donesomething;
2011-02-01 06:16:13 +11:00
int db = B_FALSE;
lifeform_t *l,*nextl;
int iter = 0;
2010-12-02 12:17:54 +11:00
// bubblesort
donesomething = B_TRUE;
2011-02-01 06:16:13 +11:00
dblog("doing sort...");
2010-12-02 12:17:54 +11:00
while (donesomething) {
donesomething = B_FALSE;
2011-02-01 06:16:13 +11:00
//dblog("ITER %d",iter++);
if (db) {
dblog("ITER %d",iter++);
for (l = map->lf ; l ; l = l->next) {
dblog("- %s (timespent= %d) (sorted=%d)", (l == player) ? "player" : l->race->name, l->timespent,l->sorted);
}
}
for (l = map->lf ; l->next ; l = nextl) {
nextl = l->next;
//if (!l->sorted && (l->timespent >= l->next->timespent) ) {
if (l->sorted) {
//dblog("skipping id %d %s, already sorted ",l->id, l->race->name);
continue;
}
if (l->timespent >= l->next->timespent) {
2010-12-02 12:17:54 +11:00
lifeform_t *temp;
2011-02-01 06:16:13 +11:00
//dblog("moving id %d %s upwards",l->id, l->race->name);
2010-12-02 12:17:54 +11:00
// remember next element
temp = l->next;
// remove this element from list
2011-02-01 06:16:13 +11:00
// don't bother checking if (l->next == NULL) as we know
// this won't be true due to the for loop condition
2010-12-02 12:17:54 +11:00
if (l->prev == NULL) {
// first
map->lf = l->next;
2011-02-01 06:16:13 +11:00
l->next->prev = NULL;
2010-12-02 12:17:54 +11:00
} else {
// not first
l->prev->next = l->next;
2011-02-01 06:16:13 +11:00
l->next->prev = l->prev;
}
// TESTING: re-add at correct position.
while (temp->next && (temp->next->timespent <= l->timespent)) {
//dblog("moving past %d %s (timespend=%d)...",temp->next->id, temp->next->race->name, temp->next->timespent);
temp = temp->next;
2010-12-02 12:17:54 +11:00
}
// re-add element afterwards
l->next = temp->next;
l->prev = temp;
temp->next = l;
2011-02-01 06:16:13 +11:00
if (l->next == NULL) {
map->lastlf = l;
} else {
l->next->prev = l;
}
l->sorted = B_TRUE;
2010-12-02 12:17:54 +11:00
donesomething = B_TRUE;
2011-02-01 06:16:13 +11:00
break;
2010-12-02 12:17:54 +11:00
} else {
l->sorted = B_TRUE;
}
}
}
2011-02-01 06:16:13 +11:00
//dblog("finished sort.");
// reset sorted var for next time
for (l = map->lf ; l->next ; l = l->next) {
l->sorted = B_FALSE;
}
// sanity check
if (player->next) {
assert(player->next->prev == player);
}
if (player->prev) {
assert(player->prev->next == player);
}
2010-12-02 12:17:54 +11:00
if (db) {
dblog("AFTER SORT:");
for (l = map->lf ; l ; l = l->next) {
2011-02-01 06:16:13 +11:00
// if (haslos(player, l->cell)) {
2010-12-07 18:34:26 +11:00
dblog("- %s (timespent= %d) (sorted=%d)", (l == player) ? "player" : l->race->name, l->timespent,l->sorted);
2011-02-01 06:16:13 +11:00
// }
2010-12-02 12:17:54 +11:00
}
}
2011-02-01 06:16:13 +11:00
}
*/
- [+] press ] then \ - CRASH. - [+] if sound is behind walls: - [+] you hear a muffled explosion - [+] int canhear() needs one more optional argument: &numwallspassed - [+] if supplied, fill it in. - [+] in noise(), check numwallspassed. if there were any, then say 'muffled'. or maybe if more than 2? play around with this. - [+] listen skill should also give more info about NON monster sounds - [+] ie. direction, distance. - [+] set user->changinglev when CHECKING stairs in the same way as when we use them. - [+] monk abil - iron fist - use all remaining stamina as damage + knockback * [+] HITCONFER - this should only work if you were attacked through a BITE or CLAW etc. - [+] bug... werewolves etc not attacking properly after shapehifting - [+] some tech/tools should be usable with hands (ie. watch). f_operwithouthands - [+] werewolves sohuld keep f_hitconfer after shapeshifting - [+] done - [+] summoned creatures from ai should never attack their masters!!! - [+] only the PLAYER can be infected by a werewolf? or only HUMANS ? - [+] when a werewolf changes to animal form, no longer hide true race as 'human' - [+] lycanthropy? - [+] how to get it: - [+] drink were-xxx blood (->potion of lycanthropy, never appears randomly) - [+] bitten by a lycanthrope (chance) with hitconfer and fail a con check - [+] change f_lycanthrope so text = racename. - [+] effects when you get it: - [+] right away, add diseased with lycanthropy. incubatino infinite ? - [+] if you are incubating lycanthropy, you always change at the full moon (and get rage, and lose control). - [+] at this point, complete the incubation and... - [+] add f_hatesall - [+] lose control for a while - [+] after you change back the first time, you can change at will. (but there is a risk each time of losing control) - [+] player regains control - [+] remove aicontrolled, hatesall, rage - [+] actually add f_lycanthrope, text=xxx, v0=4 - [+] when f_lycanthrope v0 drops to 0 or less... - [+] canwill shapeshift with race:xxx - [+] how to remove it - [+] remove curse scroll - [+] drink holy water - [+] these will: - [+] cure any incubating curse - [+] cure any f_poisoned curse - [+] cure lycanthropy, and any flags FROMLYCANTHROPY - [+] other effect - [+] wont/cant walk into holy circle? - [+] holy circle hurts you - [+] shouldn't be able to get critical hits on you (ie. injuries) if you ahve heavenly armour - [+] bug in f_poisoned text. i think i've fixed this now. Died on level 2 of the dungeon. Killed by venom poisoning from 5-10 - [+] donated objects count towards xp! - [+] -50% of value if not known. - [+] -25% of value if not id'd - [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
void setcurtime(int hours, int minutes) {
int h = -1,m = -1,s = -1;
splittime(&h, &m, &s);
while ((h != hours) || (m != minutes)) {
curtime += TIMECONST;
// don't let it get higher than 23:59
while (curtime >= DAYSECS) {
curtime -= DAYSECS;
}
splittime(&h, &m, &s);
}
msg("DEBUG: time fastforwarded to %d:%d",hours, minutes);
}
2011-03-04 12:22:36 +11:00
void timeeffectsworld(map_t *map, int updategametime) {
flag_t *retflag[MAXCANDIDATES];
int nretflags;
lifeform_t *l,*nextl;
int db = B_FALSE;
2011-02-01 06:16:13 +11:00
object_t *o,*nexto;
int x,y;
long firstlftime;
- [+] idea: only see forwards? (ie. in last dir moved) - [+] add player->facing - [+] this gets set to the last move direction - [+] you can only see in an arc in front of you - [+] going backwards just changes facing (and takes less time) - [+] shift+samedir = run - [+] shift + otherdir = walk without turning / strafe - [+] when ai is moving towards a seen target, always strafe - [+] when fleeing, you can turn your back. - [+] make strafing backwards/sideays take longer - [+] enhanced-smell means you can see all LIFEFORMS or _smell obects_ in all directions - [+] ie. look in all dirs, but in precalclos(), can only see RD_BACKWARDS/SIDEWAYS cells if they have lfs - [+] define "smelly" objects - non-undead lifeforms, food, ot_scent. f_smellable - [+] make eyedestroyed half your FOV (lose the right side) - [+] change pirate to start with permenant IJ_EYEDESTROYED - [+] mosnters should always turn to face sounds - [+] shields should give no AR, but have a chance of blocking all damage based on shield skill - [+] healing potions should fix nonpermenant injuries (check for this after checking for missing bodyparts) - [+] shouldn't remember map cells anything when bezerk - [+] show skillxp until next skill in @@ - [+] only allow 'c' to close doors which you can see. - [+] bug in precalclos when going off map. - [+] even with 0 cartography, remember cells. but then forget once they're >4 cells away. - [+] Exp Level: 3 (-2147483087 XP, 2147483704 for next) - [+] add asserts - [+] calcxp is sometimes returning -xxxxxxx. turned on debugging. - [+] wait for it to happen again - [+] bug: player can see own cell when maxvisrange = 0(resting) - [+] mods for perception skill: - [+] adept pereption: FOV widened - [+] expert perception: leave no footprints (rather than partically obscure) - [+] master perception: see in nearly all dirs
2011-09-12 09:52:14 +10:00
enum SKILLLEVEL cartskill;
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
warning_t *w,*nextw;
- [+] idea: only see forwards? (ie. in last dir moved) - [+] add player->facing - [+] this gets set to the last move direction - [+] you can only see in an arc in front of you - [+] going backwards just changes facing (and takes less time) - [+] shift+samedir = run - [+] shift + otherdir = walk without turning / strafe - [+] when ai is moving towards a seen target, always strafe - [+] when fleeing, you can turn your back. - [+] make strafing backwards/sideays take longer - [+] enhanced-smell means you can see all LIFEFORMS or _smell obects_ in all directions - [+] ie. look in all dirs, but in precalclos(), can only see RD_BACKWARDS/SIDEWAYS cells if they have lfs - [+] define "smelly" objects - non-undead lifeforms, food, ot_scent. f_smellable - [+] make eyedestroyed half your FOV (lose the right side) - [+] change pirate to start with permenant IJ_EYEDESTROYED - [+] mosnters should always turn to face sounds - [+] shields should give no AR, but have a chance of blocking all damage based on shield skill - [+] healing potions should fix nonpermenant injuries (check for this after checking for missing bodyparts) - [+] shouldn't remember map cells anything when bezerk - [+] show skillxp until next skill in @@ - [+] only allow 'c' to close doors which you can see. - [+] bug in precalclos when going off map. - [+] even with 0 cartography, remember cells. but then forget once they're >4 cells away. - [+] Exp Level: 3 (-2147483087 XP, 2147483704 for next) - [+] add asserts - [+] calcxp is sometimes returning -xxxxxxx. turned on debugging. - [+] wait for it to happen again - [+] bug: player can see own cell when maxvisrange = 0(resting) - [+] mods for perception skill: - [+] adept pereption: FOV widened - [+] expert perception: leave no footprints (rather than partically obscure) - [+] master perception: see in nearly all dirs
2011-09-12 09:52:14 +10:00
//dblog("------ tick (time=%ld) ----", curtime);
- [+] CRASH in killflag() - [+] symptoms - [+] often happens right after creating a new map (ie. trigger it through a gate spell) - [+] bug in createriver(). fixed. - [+] somehow casting GATE is causing object flagpiles on the PLAYER's map to become corrupted. - [+] "the young hawk wakes up" CRASH, flagpile corrupt on stone. - [+] object itself seems okay. - [+] o->flags is becoming corrupt!!! - [+] so all its flags are becoming corrupt (id = massive number, next = fffff) - [+] traceback: - [+] #0 0x0000000100081188 in killflag (f=0x103321090) at flag.c:815 #1 0x0000000100081b3a in timeeffectsflag (f=0x103321090, howlong=1) at flag.c:1075 #2 0x00000001000825f8 in timeeffectsflags (fp=0x1038e0600) at flag.c:1302 #3 0x0000000100129b01 in timeeffectsob (o=0x1036e2460) at objects.c:11877 #4 0x0000000100005114 in timeeffectsworld (map=0x102aa1a00, updategametime=-1) at nexus.c:1685 #5 0x0000000100003a28 in donextturn (map=0x102aa1a00) at nexus.c:952 #6 0x00000001000029b1 in main (argc=1, argv=0x7fff5fbff848) at nexus.c:525 - [+] try this: in timeeffectsflags on objects, check PREVIOUS object's flagpile. - [+] try this: add checkflagS() after updatefpindex - [+] NOT happening during timeeffectsob(). - [+] compile with optimisation................. - [+] hapepning in createmap. but objects on the PLAYER's map are being corrupted, not the new one. - [+] happening in addrandomthing() - [+] happening in addmonster(). - [+] lf = addmonster(c, R_RANDOM, NULL, B_TRUE, 1, B_TRUE, nadded); - [+] (glowbug was created) - [+] happening in addlf() - [+] glowbug again!! to do with light recalc ?? - [+] happening in setrace() - [+] happening while inheriting F_AWARENESS. have double checked to confirm this! - [+] in HASLOS????!! - [+] addflag->flagcausesloscalc, so haslos for all on the map. problem happens when we call haslos() for the lf getting F_AWARENESS added. - [+] is the problem that doing a los recalc breaks when we are still missing half our racial flags ? - [+] QUICK FIX: - [+] dont recalc los for any lf where born = 0. just set nlos to 0 - [+] and manually recalc los just before returning from addlf - [+] put sawgrsaas back to being common, not frequent - [+] is this finally fixed now? i think so!! - [+] if so, remove calls to "checkallflags" and most calls to checkflags() - [+] remove agility bonuses for weapon acc. now comes just from skill and from agi scaling on weapons. - [+] maybe difference in hit dice is a bad way to determine shieldblock difficulty. - [+] ...because the player rapidly gets higher than all other monsters on their dungeonlev. - [+] maybe just use monster's hitdice, ignore players. - [+] bug: abilities costing no stamina? - [+] in addmap, i am not initialising enough nextmap[]s - [+] flag.c bug: don't need to set player->losdirty when recalcing light on a different map - [+] lfs with F_DOESNTMOVE weren't attacking - [+] manuals are starting off known. why?? - [+] they don't appear in knowledge, so don't appear to have a hiddenname at all. - [+] make magical barriers block view. - [+] when describing armour / shield penalty, say - [+] "will lower your accuracy by 1" - [+] instead of - [+] "will lower your accuracy by 5%" - [+] make firstaid skill incrase your hp per level - [+] high agility seems to be giving a MASSIVE accuracy increase when higher than weapon's stat. - [+] maybe remove or reduce AGI acc bonuses. - [+] sack started off containing a FOOD VENDOR!@# - [+] size check obviously isn't working. - [+] need "obfits" in givestartobs!! - [+] hitting ESC when firing with F doesn't cancel.f - [+] hunter should start with fur cloak - [+] spellbooks are too cheap ($12) - [+] remove'p' for lockpick- just operate the lockpickobject. - [+] removed, - [+] ...but now tha tI've removed 'p' for picklocks, can i still use 'o' on a dagger or similar? - [+] NO - [+] maybe turn "pick lock" into a still - [+] how do you gain this? level 1 lockpicking - [+] then make lockpicks etc non-operable - [+] fix crash when drunk lfs take damage - [+] sleeping powder costs nothing - [+] memleaks??? 700mb usage!! - [+] valgrind - [+] found a memleak problem: definitely lost: 10,719,039 bytes in 11,420 blocks - [+] not killing flags when we kill an object!!!!! fixed now. - [+] memory usage is now ticking up heaps more slowly. - [+] investigate further with valgrind again..... - [+] when summoning, prefer cells for which the player has los. - [+] make jammed doors harder to open. - [+] no forcing a door open on your first go. should be: - [+] the door is jammed! - [+] you force it open. - [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
- [+] idea: only see forwards? (ie. in last dir moved) - [+] add player->facing - [+] this gets set to the last move direction - [+] you can only see in an arc in front of you - [+] going backwards just changes facing (and takes less time) - [+] shift+samedir = run - [+] shift + otherdir = walk without turning / strafe - [+] when ai is moving towards a seen target, always strafe - [+] when fleeing, you can turn your back. - [+] make strafing backwards/sideays take longer - [+] enhanced-smell means you can see all LIFEFORMS or _smell obects_ in all directions - [+] ie. look in all dirs, but in precalclos(), can only see RD_BACKWARDS/SIDEWAYS cells if they have lfs - [+] define "smelly" objects - non-undead lifeforms, food, ot_scent. f_smellable - [+] make eyedestroyed half your FOV (lose the right side) - [+] change pirate to start with permenant IJ_EYEDESTROYED - [+] mosnters should always turn to face sounds - [+] shields should give no AR, but have a chance of blocking all damage based on shield skill - [+] healing potions should fix nonpermenant injuries (check for this after checking for missing bodyparts) - [+] shouldn't remember map cells anything when bezerk - [+] show skillxp until next skill in @@ - [+] only allow 'c' to close doors which you can see. - [+] bug in precalclos when going off map. - [+] even with 0 cartography, remember cells. but then forget once they're >4 cells away. - [+] Exp Level: 3 (-2147483087 XP, 2147483704 for next) - [+] add asserts - [+] calcxp is sometimes returning -xxxxxxx. turned on debugging. - [+] wait for it to happen again - [+] bug: player can see own cell when maxvisrange = 0(resting) - [+] mods for perception skill: - [+] adept pereption: FOV widened - [+] expert perception: leave no footprints (rather than partically obscure) - [+] master perception: see in nearly all dirs
2011-09-12 09:52:14 +10:00
cartskill = getskill(player, SK_CARTOGRAPHY);
2011-02-01 06:16:13 +11:00
2010-12-02 12:17:54 +11:00
// now go through the list and make the first element be 0
2011-02-01 06:16:13 +11:00
l = map->lf;
if (l) {
// if (db) dblog("first lf is: %s (id %ld)\n",l->race->name, l->id);
firstlftime = l->timespent;
assert(firstlftime >= 0);
} else {
dblog("no lifeforms on map!\n");
// no first lf!
firstlftime = 0;
2010-12-02 12:17:54 +11:00
}
2011-02-01 06:16:13 +11:00
//if (db) dblog("timespent = %d\n", timespent);
if (db) dblog("firstlftime = %d\n", firstlftime);
/*
for (l = map->lf ; l ; l = nextl) {
nextl = l->next;
//checkflagpile(l->flags);
}
*/
2011-02-01 06:16:13 +11:00
if (firstlftime > 0) {
if (db) dblog("making firstlf timespent = 0 (currently %d):", firstlftime);
shuffledown(map);
2011-02-01 06:16:13 +11:00
} else {
if (db) dblog("firstlf timespent is not greater than 0. no shuffle.");
2011-02-01 06:16:13 +11:00
}
timeleft += firstlftime;
// now do effects based on time...
while (timeleft >= TICK_INTERVAL) {
flag_t *f;
int i;
int th,tm,ts;
splittime(&th, &tm, &ts);
2011-02-01 06:16:13 +11:00
timeleft -= TICK_INTERVAL;
- [+] most monsters which covet food should have snatch - so that you can just drop food for them. - [+] when looking for remote obs, DO include adjacent cells with lfs, if we have the snatch ability. - [+] some long thin levels (80 x 12 ?) - [+] fix code to remove useless doors. - [+] 0 pairs of dirs with empty cells = change door to wall - [+] pick an adjacent empty cell - [+] floodfill the 8 cells around the door. - [+] start with adj cell - [+] can't go more than 1 cell away from door - [+] solid cells or doors will stop movement - [+] if no unfilled cells around the door, bad. - [+] new way of fixing unconnected levels - portal! - [+] pick one spot in each section then place a portal there. - [+] dying should cure poison - [+] tweaks to attack text - [+] floor tile effecst - [+] absorbancy - ie. carpet should absorb water. - [+] converyors - [+] only walkable sometime (crushers?) - [+] in tombstone, show "eaten by Rattus", not "eaten by a rattus" - [+] god of nature should like eating animals all the time, not just when hungry (makes piety gain easier) - [+] announce when eyes are protected from a spellcloud - [+] klikirak should like setting off fire traps. - [+] floodfill() should follow portals to the same level. - [+] show >1 skillpoints in green on status bar - [+] bug: gods are apeparing behind you. - [+] bug in getrandomadjcell - [+] gods' planeshift spells failing? might be fixed now. using getrandomroomcell instead of getrandomcell. - [+] increaes damage dealt by smite evil/good - [+] lightning javelins shouldn't be stackable - [+] monsters not firing ranged weapons! - [+] they just walk back and forth - [+] bug with how i was calling haslof() for cells other than where the mosnter was (in getdiraway()) - [+] turn undead should only work if caster level*2 is >= monster level fullblock basics: - [+] penalties - [+] lowers visrange to 1 - [+] huge attack penalties - [+] huge evasion penalties - [+] vhigh chance of all ranged damage going to shield instead. - [+] buckler = 75 (small) - [+] shield = 80 - [+] large shield = 85 - [+] tower = 90 - [+] plus shield skill*2 - [+] use check_shield_block in all spell effects - [+] this checks whether player is shieldblocoking (or evades??) - [+] then applies damage appropriatly. - [+] new ability; - [+] stopped by: - [+] losing or unequipping the shield - [+] being interrupted - [+] casting a spell or using an ability - [+] exotic weapons should cost more. - [+] maybe prevent prayer until gods have been pleased enough ? - [+] while you're not worshipping anyone, piety gain is x4. - [+] once first one hits 'pleased', they will appear and offer you a place - [+] advantge to this is that you get a gift - [+] picking up new gold should please felix...... - [+] you shoudl only be able to sacrifice untouched gold. this pleases felix double as much as grabbing it. - [+] gods sohuld appear "in a cloud of ..." - [+] bjorn - blood - [+] klik - fire - [+] lumara - bright light
2012-11-09 22:50:52 +11:00
dblog("------ tick (time=%ld %02d:%02d:%02d) ----", curtime,th,tm,ts);
2011-02-01 06:16:13 +11:00
// global time-based effects on map or map objects
for (y = 0; y < map->h; y++) {
for (x = 0; x < map->w; x++) {
cell_t *c;
c = getcellat(map, x, y);
- [+] shops on a level should make loud sounds every few turns. (onein3) - [+] inifniite loop in ?k - [+] add to balaclava: equipconfer -> f_anonymous - [+] can't get banned from shops with this! - [+] when randomly increasing skills, don't select maxed ones. - [+] remove warning for movement while bleeding - [+] injuries heal too fast. - [+] bug: The sound of sounds of fighting awakens you! - [+] shouldnt be able to rest while airborne! - [+] make drunkenness give more damage resistance! - [+] "unseen" etc not working on tombstone - [+] bug: merloch getting infinite attacks!! - [+] add "a xxx moves out of view" - [+] why are wizards starting with 2 cold spells? fixed. was getting an extra one for gaining a "new" spell skill. - [+] slowwalking shoudl reduce move volume, not eliminate it. - [+] i noticed a secret iron door forom 6 cells away! - [+] make SC_SEARCH not autopassable on natural 20. - [+] armour can have a SIZE - [+] remove some occurences of "f_noarmouron" for sz_large, sz_small creatures - [+] in "canwear", implement size check. if lf's body size isn't sz_human then armour must have "f_armoursize -> sz_xxx" - [+] exception for ears / eyes - [+] f_multisize - [+] f_armoursize sz_xxx - [+] can only wear armour whih is your size - [+] in io.c, show armour size - [+] assign f_multisize to objects - [+] when adding objects - [+] cope with asking for "large armour" etc - [+] adding to a lf's pack? make sure armour is the correct fit - [+] somewhere else? 25% chance of different size. if so, 50/50 as to which way. - [+] in getobname, show "huge armour" etc - [+] medium ("halfling size pair of gauntlets"), human ("gauntlets"), or large ("huge gauntlets") - [+] high sewing/metalwork skills will let you modify armour for custom fit. - [+] half the hit points of the object - [+] implement a multi-level menu system for shops - [+] text on shop exit ("thank you for your business!") - [+] shops: - [+] only let you donate if you can takeoff / unweild it first. - [+] replace "vending machine" with shop - [+] make shops/buildings their own category - [+] this will let us say 'random shop' - [+] enable stealing from shops - [+] armour - [+] book - [+] weapon - [+] general - [+] potion - [+] hardware - [+] food - [+] jeweller - [+] always show full name for shop items - [+] temple of xxx - - [+] actions - [+] donate - [+] detect curse - [+] bless(costs more if equipped) - [+] absolve sins - [+] special depending on who the temple is to? - [+] temple of'xxx' - assign in addobject() - [+] extend CHA/SPEECH mods to all shops - [+] disable stacking for shop objects - [+] hotel/inn - [+] actions - [+] pay to rest (for 100 turns) - [+] if you do this, call startresting() before exitting shop - [+] and set some kind of flag so monsters will never approach - [+] maybe: f_resting_in_hotel - [+] and so that they will never wake up you up through sound - [+] remove these when you stop resting. - [+] force you to stop resting once your time expires - [+] buy food/drink - [+] weapon shop: - [+] donate weapons - [+] armour shop: - [+] buy armour - [+] donate armour (so that monsters don't pick it up!) * [+] firearm reload messages - [+] don't take f_throwmissile into account when using telekinesis - [+] ranged weapons: auto reload after firing. - [+] done.
2011-11-16 11:57:21 +11:00
if (c) {
* [+] make vending machines use this container code instead. - [+] don't say "you see a few things" if one of them is footsteps * [+] IFMONSTER code failing....because flags are now SORTED!!! - [+] tumble - askcoords is letting us pick a cell we don't have lof to. * [+] assign a name to lfs once you hire them * [+] coloured msgtext - [+] make min dam reduction from AR be AR/5. - [+] safebox - [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with no getsweaker (val1) * [+] make fire / ice damage mor elike netheck - [+] towns should have gates on EVERY side - [+] forest cells outside town gates need to be CLEARED. (maybe turn to dirt) - [+] fix up knock targetting to include magical barriers - [+] say "open a bag?" not "operate a bag?" * [+] implement immunetodisease - [+] sort known skills in @s. - [+] better damage bonus when attacking someone who is asleep - [+] practive firearms/throwing * [+] need objecttype->size * [+] containers * [+] change guns so you have to reload them. ("operate") - [+] crash when loading map with water - [+] SAVE OBJECT CONTENTSk - [+] monsters with jobs aren't getting start items - [+] shopkeeper has shotgun - [+] bug: monster keeps swapping between shotgun and flail - [+] when hiring, remember failure. * [+] Inn - [+] bug: pets fighting!!! then they all turn on you. never make allies get angry unless the attacker is the player * [+] hiring npcs - [+] chat to pet: "stay close" or "keep your distance" - [+] new 'furniture' obclass - [+] allow for 'randomshop' regiontype * [+] add enchantment school - [+] cast a scroll of mending on itself. CRASH. * [+] lessengravity should make you jump better and get knocked back further - [+] boostgrav/lessengrav cancel out each other. * [+] CRASH when you fall down a hole and die. - [+] problem: master gravitation doesn't let us cast levitat. getspellschoolknown() should return the HIGHEST known skill, not the first. * [+] bug: dregion is null?!??! * [+] dig a pit, if you cleared out land below, you just stay down there. - [+] potion of leveitation - [+] warning msg when levitate is about to expire * [+] if you fall upwards to the surface... * [+] if you are ever on the surface while levitating.... - [+] BUG: cna't go up stairs to surface anymore!!!!! - [+] get hungry LOTS more quickly when you start sprinting * [+] monk slow metabolism psionic pell. - [+] fix buf with lore giving LESS accuracy instead of more. - [+] food shop - [+] wand of digging not identified if you dig upwards * [+] when you make ah ole in the roof, objects above should fall through right away * [+] all towns should have: - [+] give monks more psionics spells. - [+] sk_throwing skill - [+] make calm animals use spellpower * [+] add wisdom * [+] need to save region data along with maps * [+] COMBINE armour evasion and accuracy penalty!!! * [+] make armour reduce accuracy as well (unless you have 'armour' skill) - [+] landmine trap * [+] make friendly monsters of same raceclass swap ammo - [+] rename 'pull' to 'suck' to avoid confusion with pull metal * [+] food to fix blindness - [+] potion of coffee * [+] genericise statbrackets * [+] tumble ability * [+] simplify spell power * [+] shopkeeprs should be allowed to pursue targets outside of the shop. - [+] give shopkeepers a shotgun * [+] make F_RNDHOSTILE be able to ahve a random chance. * [+] if you randomly generate food in a shop, still give it a price. - [+] if peaceful humanoid walks into you, "sorry!" - [+] sayphrase(lf, SP_SORRY, vol) - [+] only let you recruit jobs with j_recruitable - [+] CRASH - summon "monk" - [+] dogs, - [+] chickens, - [+] drunks, * [+] village objects - [+] change armourrating AGAIN. instead of a percentage, make it a number. - [+] rename inn to "pub", since you can't sleep there. * [+] random speech code * [+] genericise sayphrase text based on lf's job * [+] monks - add rest of abliities - [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
object_t *pit;
- [+] idea: only see forwards? (ie. in last dir moved) - [+] add player->facing - [+] this gets set to the last move direction - [+] you can only see in an arc in front of you - [+] going backwards just changes facing (and takes less time) - [+] shift+samedir = run - [+] shift + otherdir = walk without turning / strafe - [+] when ai is moving towards a seen target, always strafe - [+] when fleeing, you can turn your back. - [+] make strafing backwards/sideays take longer - [+] enhanced-smell means you can see all LIFEFORMS or _smell obects_ in all directions - [+] ie. look in all dirs, but in precalclos(), can only see RD_BACKWARDS/SIDEWAYS cells if they have lfs - [+] define "smelly" objects - non-undead lifeforms, food, ot_scent. f_smellable - [+] make eyedestroyed half your FOV (lose the right side) - [+] change pirate to start with permenant IJ_EYEDESTROYED - [+] mosnters should always turn to face sounds - [+] shields should give no AR, but have a chance of blocking all damage based on shield skill - [+] healing potions should fix nonpermenant injuries (check for this after checking for missing bodyparts) - [+] shouldn't remember map cells anything when bezerk - [+] show skillxp until next skill in @@ - [+] only allow 'c' to close doors which you can see. - [+] bug in precalclos when going off map. - [+] even with 0 cartography, remember cells. but then forget once they're >4 cells away. - [+] Exp Level: 3 (-2147483087 XP, 2147483704 for next) - [+] add asserts - [+] calcxp is sometimes returning -xxxxxxx. turned on debugging. - [+] wait for it to happen again - [+] bug: player can see own cell when maxvisrange = 0(resting) - [+] mods for perception skill: - [+] adept pereption: FOV widened - [+] expert perception: leave no footprints (rather than partically obscure) - [+] master perception: see in nearly all dirs
2011-09-12 09:52:14 +10:00
if (cartskill <= PR_INEPT) {
// if you are inept at cartography, you will forget
// cells outside your view which are far away.
if (c->knowntime > 0) {
c->knowntime--;
if (c->knowntime <= 0) {
c->known = B_FALSE;
c->knowntime = 0;
}
}
}
// writing fading?
if (c->writing && (c->writinglifetime > 0)) {
c->writinglifetime--;
if (c->writinglifetime <= 0) {
free(c->writing);
c->writing = NULL;
if (haslos(player, c)) {
if (c == player->cell) {
msg("The magical inscription beneath you vanishes.");
} else {
msg("A magical inscription nearby vanishes.");
}
}
}
}
* [+] 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
pit = hasobwithflagval(c->obpile, F_PIT, D_DOWN, NA, NA, NULL);
- [+] corpse colours aren't working anymore. - [+] bug: knocking a sleeping lf unconscious fails, they kepe sleeping. need to change the f_sleeping flag! - [+] another secret door bug: can identify them in askcoords!! fixed. - [+] wrong order for text: - [+] You attack the helpless kobold! You kill the kobold! The kobold shouts "This isn't over!". - [+] SOLUTION: say "the dying kobold shouts ...." - [+] only use death text somtimes. random chance. - [+] force player sarting dir to be the one with the most LOS cells. - [+] avian/ashkari monks - [+] at both initial creation and levleup: - [+] need to update hasattack claws, not hasattack fists. - [+] genericise this to just use whatever f_hasattack flag you have? - [+] bug with flying creatures falling: - [+] You miss the giant bat. The giant bat bites you. The giant bat stops flying. The giant bat falls to the ground. The giant bat's ribs are cracked! - [+] was causing ATTACKER to fall, not defender. - [+] fix bug with objects falling through pits. - [+] new sewer map type: - [+] BUG: getting empty map!!! - [+] roomon etc is good. - [+] but map empty - [+] probably an issue with corridor vs section size... - [+] make drains be locked again - [+] grating causes stench - [+] monsters: - [+] aquatic animals (piranha, merloch, etc) - [+] slimes - [+] troglodytes (and anything which causes stench) - [+] rats - [+] water snakes - [+] drains should make sounds ("you hear a drip") - [+] snakes shouldn't get nauseated. - [+] F_NOSMELL. - [+] feigh death shouldn't work on things which are attached to you (leech/mosquitoid) - [+] stores should never sell gold coins!!! - [+] givestartobs() - give a potion of water instead if it's going to a shop - [+] no resting when raged - [+] make MAXIMUM map height higher. bumped from 20 to 30. - [+] grating cell/object? - [+] liquids fall through it. - [+] to unlock it: - [+] loosen with spanner - [+] knock spell - [+] pick the lock - [+] lock hacker
2011-11-30 13:06:16 +11:00
if (!pit) pit = hasob(c->obpile, OT_GRATINGFLOOR);
* [+] 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 (pit) {
obsfallthrough(c, pit);
}
2011-02-01 06:16:13 +11:00
// go through each object in the cell...
for (o = c->obpile->first ; o ; o = nexto) {
nexto = o->next;
- [+] CRASH in killflag() - [+] symptoms - [+] often happens right after creating a new map (ie. trigger it through a gate spell) - [+] bug in createriver(). fixed. - [+] somehow casting GATE is causing object flagpiles on the PLAYER's map to become corrupted. - [+] "the young hawk wakes up" CRASH, flagpile corrupt on stone. - [+] object itself seems okay. - [+] o->flags is becoming corrupt!!! - [+] so all its flags are becoming corrupt (id = massive number, next = fffff) - [+] traceback: - [+] #0 0x0000000100081188 in killflag (f=0x103321090) at flag.c:815 #1 0x0000000100081b3a in timeeffectsflag (f=0x103321090, howlong=1) at flag.c:1075 #2 0x00000001000825f8 in timeeffectsflags (fp=0x1038e0600) at flag.c:1302 #3 0x0000000100129b01 in timeeffectsob (o=0x1036e2460) at objects.c:11877 #4 0x0000000100005114 in timeeffectsworld (map=0x102aa1a00, updategametime=-1) at nexus.c:1685 #5 0x0000000100003a28 in donextturn (map=0x102aa1a00) at nexus.c:952 #6 0x00000001000029b1 in main (argc=1, argv=0x7fff5fbff848) at nexus.c:525 - [+] try this: in timeeffectsflags on objects, check PREVIOUS object's flagpile. - [+] try this: add checkflagS() after updatefpindex - [+] NOT happening during timeeffectsob(). - [+] compile with optimisation................. - [+] hapepning in createmap. but objects on the PLAYER's map are being corrupted, not the new one. - [+] happening in addrandomthing() - [+] happening in addmonster(). - [+] lf = addmonster(c, R_RANDOM, NULL, B_TRUE, 1, B_TRUE, nadded); - [+] (glowbug was created) - [+] happening in addlf() - [+] glowbug again!! to do with light recalc ?? - [+] happening in setrace() - [+] happening while inheriting F_AWARENESS. have double checked to confirm this! - [+] in HASLOS????!! - [+] addflag->flagcausesloscalc, so haslos for all on the map. problem happens when we call haslos() for the lf getting F_AWARENESS added. - [+] is the problem that doing a los recalc breaks when we are still missing half our racial flags ? - [+] QUICK FIX: - [+] dont recalc los for any lf where born = 0. just set nlos to 0 - [+] and manually recalc los just before returning from addlf - [+] put sawgrsaas back to being common, not frequent - [+] is this finally fixed now? i think so!! - [+] if so, remove calls to "checkallflags" and most calls to checkflags() - [+] remove agility bonuses for weapon acc. now comes just from skill and from agi scaling on weapons. - [+] maybe difference in hit dice is a bad way to determine shieldblock difficulty. - [+] ...because the player rapidly gets higher than all other monsters on their dungeonlev. - [+] maybe just use monster's hitdice, ignore players. - [+] bug: abilities costing no stamina? - [+] in addmap, i am not initialising enough nextmap[]s - [+] flag.c bug: don't need to set player->losdirty when recalcing light on a different map - [+] lfs with F_DOESNTMOVE weren't attacking - [+] manuals are starting off known. why?? - [+] they don't appear in knowledge, so don't appear to have a hiddenname at all. - [+] make magical barriers block view. - [+] when describing armour / shield penalty, say - [+] "will lower your accuracy by 1" - [+] instead of - [+] "will lower your accuracy by 5%" - [+] make firstaid skill incrase your hp per level - [+] high agility seems to be giving a MASSIVE accuracy increase when higher than weapon's stat. - [+] maybe remove or reduce AGI acc bonuses. - [+] sack started off containing a FOOD VENDOR!@# - [+] size check obviously isn't working. - [+] need "obfits" in givestartobs!! - [+] hitting ESC when firing with F doesn't cancel.f - [+] hunter should start with fur cloak - [+] spellbooks are too cheap ($12) - [+] remove'p' for lockpick- just operate the lockpickobject. - [+] removed, - [+] ...but now tha tI've removed 'p' for picklocks, can i still use 'o' on a dagger or similar? - [+] NO - [+] maybe turn "pick lock" into a still - [+] how do you gain this? level 1 lockpicking - [+] then make lockpicks etc non-operable - [+] fix crash when drunk lfs take damage - [+] sleeping powder costs nothing - [+] memleaks??? 700mb usage!! - [+] valgrind - [+] found a memleak problem: definitely lost: 10,719,039 bytes in 11,420 blocks - [+] not killing flags when we kill an object!!!!! fixed now. - [+] memory usage is now ticking up heaps more slowly. - [+] investigate further with valgrind again..... - [+] when summoning, prefer cells for which the player has los. - [+] make jammed doors harder to open. - [+] no forcing a door open on your first go. should be: - [+] the door is jammed! - [+] you force it open. - [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
assert(nexto != o);
2011-02-01 06:16:13 +11:00
//checkflagpile(o->flags);
2011-02-01 06:16:13 +11:00
timeeffectsob(o);
} // end foreach object here
2011-03-10 16:47:18 +11:00
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
/* // expire light effects
2011-03-10 16:47:18 +11:00
if (c->littimer > 0) {
c->littimer--;
if (c->littimer == 0) {
c->lit = c->origlit;
}
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10: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
// water/fire spreads...
if (doelementspread(c) && haslos(player, c)) {
- [+] 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
needredraw = B_TRUE;
}
} // end if c
2011-02-01 06:16:13 +11:00
}
} // end for (y...
- [+] 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
// now finish off water spread
redrawpause();
getflags(map->flags, retflag, &nretflags, F_NEWWATERDEPTH, F_NONE);
- [+] CRASH in killflag() - [+] symptoms - [+] often happens right after creating a new map (ie. trigger it through a gate spell) - [+] bug in createriver(). fixed. - [+] somehow casting GATE is causing object flagpiles on the PLAYER's map to become corrupted. - [+] "the young hawk wakes up" CRASH, flagpile corrupt on stone. - [+] object itself seems okay. - [+] o->flags is becoming corrupt!!! - [+] so all its flags are becoming corrupt (id = massive number, next = fffff) - [+] traceback: - [+] #0 0x0000000100081188 in killflag (f=0x103321090) at flag.c:815 #1 0x0000000100081b3a in timeeffectsflag (f=0x103321090, howlong=1) at flag.c:1075 #2 0x00000001000825f8 in timeeffectsflags (fp=0x1038e0600) at flag.c:1302 #3 0x0000000100129b01 in timeeffectsob (o=0x1036e2460) at objects.c:11877 #4 0x0000000100005114 in timeeffectsworld (map=0x102aa1a00, updategametime=-1) at nexus.c:1685 #5 0x0000000100003a28 in donextturn (map=0x102aa1a00) at nexus.c:952 #6 0x00000001000029b1 in main (argc=1, argv=0x7fff5fbff848) at nexus.c:525 - [+] try this: in timeeffectsflags on objects, check PREVIOUS object's flagpile. - [+] try this: add checkflagS() after updatefpindex - [+] NOT happening during timeeffectsob(). - [+] compile with optimisation................. - [+] hapepning in createmap. but objects on the PLAYER's map are being corrupted, not the new one. - [+] happening in addrandomthing() - [+] happening in addmonster(). - [+] lf = addmonster(c, R_RANDOM, NULL, B_TRUE, 1, B_TRUE, nadded); - [+] (glowbug was created) - [+] happening in addlf() - [+] glowbug again!! to do with light recalc ?? - [+] happening in setrace() - [+] happening while inheriting F_AWARENESS. have double checked to confirm this! - [+] in HASLOS????!! - [+] addflag->flagcausesloscalc, so haslos for all on the map. problem happens when we call haslos() for the lf getting F_AWARENESS added. - [+] is the problem that doing a los recalc breaks when we are still missing half our racial flags ? - [+] QUICK FIX: - [+] dont recalc los for any lf where born = 0. just set nlos to 0 - [+] and manually recalc los just before returning from addlf - [+] put sawgrsaas back to being common, not frequent - [+] is this finally fixed now? i think so!! - [+] if so, remove calls to "checkallflags" and most calls to checkflags() - [+] remove agility bonuses for weapon acc. now comes just from skill and from agi scaling on weapons. - [+] maybe difference in hit dice is a bad way to determine shieldblock difficulty. - [+] ...because the player rapidly gets higher than all other monsters on their dungeonlev. - [+] maybe just use monster's hitdice, ignore players. - [+] bug: abilities costing no stamina? - [+] in addmap, i am not initialising enough nextmap[]s - [+] flag.c bug: don't need to set player->losdirty when recalcing light on a different map - [+] lfs with F_DOESNTMOVE weren't attacking - [+] manuals are starting off known. why?? - [+] they don't appear in knowledge, so don't appear to have a hiddenname at all. - [+] make magical barriers block view. - [+] when describing armour / shield penalty, say - [+] "will lower your accuracy by 1" - [+] instead of - [+] "will lower your accuracy by 5%" - [+] make firstaid skill incrase your hp per level - [+] high agility seems to be giving a MASSIVE accuracy increase when higher than weapon's stat. - [+] maybe remove or reduce AGI acc bonuses. - [+] sack started off containing a FOOD VENDOR!@# - [+] size check obviously isn't working. - [+] need "obfits" in givestartobs!! - [+] hitting ESC when firing with F doesn't cancel.f - [+] hunter should start with fur cloak - [+] spellbooks are too cheap ($12) - [+] remove'p' for lockpick- just operate the lockpickobject. - [+] removed, - [+] ...but now tha tI've removed 'p' for picklocks, can i still use 'o' on a dagger or similar? - [+] NO - [+] maybe turn "pick lock" into a still - [+] how do you gain this? level 1 lockpicking - [+] then make lockpicks etc non-operable - [+] fix crash when drunk lfs take damage - [+] sleeping powder costs nothing - [+] memleaks??? 700mb usage!! - [+] valgrind - [+] found a memleak problem: definitely lost: 10,719,039 bytes in 11,420 blocks - [+] not killing flags when we kill an object!!!!! fixed now. - [+] memory usage is now ticking up heaps more slowly. - [+] investigate further with valgrind again..... - [+] when summoning, prefer cells for which the player has los. - [+] make jammed doors harder to open. - [+] no forcing a door open on your first go. should be: - [+] the door is jammed! - [+] you force it open. - [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
assert(nretflags < MAXCANDIDATES); // oooooooooooooo
for (i = 0; i < nretflags; i++) {
cell_t *c;
f = retflag[i];
c = getcellat(map, f->val[0], f->val[1]);
if (c) {
if (f->val[2] > DP_NONE) {
o = hasobwithflag(c->obpile, F_DEEPWATER);
if (!o) {
o = addobfast(c->obpile, OT_WATERDEEP);
- [+] 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
}
}
setwaterdepth(c, f->val[2]);
- [+] 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
}
}
- [+] CRASH in killflag() - [+] symptoms - [+] often happens right after creating a new map (ie. trigger it through a gate spell) - [+] bug in createriver(). fixed. - [+] somehow casting GATE is causing object flagpiles on the PLAYER's map to become corrupted. - [+] "the young hawk wakes up" CRASH, flagpile corrupt on stone. - [+] object itself seems okay. - [+] o->flags is becoming corrupt!!! - [+] so all its flags are becoming corrupt (id = massive number, next = fffff) - [+] traceback: - [+] #0 0x0000000100081188 in killflag (f=0x103321090) at flag.c:815 #1 0x0000000100081b3a in timeeffectsflag (f=0x103321090, howlong=1) at flag.c:1075 #2 0x00000001000825f8 in timeeffectsflags (fp=0x1038e0600) at flag.c:1302 #3 0x0000000100129b01 in timeeffectsob (o=0x1036e2460) at objects.c:11877 #4 0x0000000100005114 in timeeffectsworld (map=0x102aa1a00, updategametime=-1) at nexus.c:1685 #5 0x0000000100003a28 in donextturn (map=0x102aa1a00) at nexus.c:952 #6 0x00000001000029b1 in main (argc=1, argv=0x7fff5fbff848) at nexus.c:525 - [+] try this: in timeeffectsflags on objects, check PREVIOUS object's flagpile. - [+] try this: add checkflagS() after updatefpindex - [+] NOT happening during timeeffectsob(). - [+] compile with optimisation................. - [+] hapepning in createmap. but objects on the PLAYER's map are being corrupted, not the new one. - [+] happening in addrandomthing() - [+] happening in addmonster(). - [+] lf = addmonster(c, R_RANDOM, NULL, B_TRUE, 1, B_TRUE, nadded); - [+] (glowbug was created) - [+] happening in addlf() - [+] glowbug again!! to do with light recalc ?? - [+] happening in setrace() - [+] happening while inheriting F_AWARENESS. have double checked to confirm this! - [+] in HASLOS????!! - [+] addflag->flagcausesloscalc, so haslos for all on the map. problem happens when we call haslos() for the lf getting F_AWARENESS added. - [+] is the problem that doing a los recalc breaks when we are still missing half our racial flags ? - [+] QUICK FIX: - [+] dont recalc los for any lf where born = 0. just set nlos to 0 - [+] and manually recalc los just before returning from addlf - [+] put sawgrsaas back to being common, not frequent - [+] is this finally fixed now? i think so!! - [+] if so, remove calls to "checkallflags" and most calls to checkflags() - [+] remove agility bonuses for weapon acc. now comes just from skill and from agi scaling on weapons. - [+] maybe difference in hit dice is a bad way to determine shieldblock difficulty. - [+] ...because the player rapidly gets higher than all other monsters on their dungeonlev. - [+] maybe just use monster's hitdice, ignore players. - [+] bug: abilities costing no stamina? - [+] in addmap, i am not initialising enough nextmap[]s - [+] flag.c bug: don't need to set player->losdirty when recalcing light on a different map - [+] lfs with F_DOESNTMOVE weren't attacking - [+] manuals are starting off known. why?? - [+] they don't appear in knowledge, so don't appear to have a hiddenname at all. - [+] make magical barriers block view. - [+] when describing armour / shield penalty, say - [+] "will lower your accuracy by 1" - [+] instead of - [+] "will lower your accuracy by 5%" - [+] make firstaid skill incrase your hp per level - [+] high agility seems to be giving a MASSIVE accuracy increase when higher than weapon's stat. - [+] maybe remove or reduce AGI acc bonuses. - [+] sack started off containing a FOOD VENDOR!@# - [+] size check obviously isn't working. - [+] need "obfits" in givestartobs!! - [+] hitting ESC when firing with F doesn't cancel.f - [+] hunter should start with fur cloak - [+] spellbooks are too cheap ($12) - [+] remove'p' for lockpick- just operate the lockpickobject. - [+] removed, - [+] ...but now tha tI've removed 'p' for picklocks, can i still use 'o' on a dagger or similar? - [+] NO - [+] maybe turn "pick lock" into a still - [+] how do you gain this? level 1 lockpicking - [+] then make lockpicks etc non-operable - [+] fix crash when drunk lfs take damage - [+] sleeping powder costs nothing - [+] memleaks??? 700mb usage!! - [+] valgrind - [+] found a memleak problem: definitely lost: 10,719,039 bytes in 11,420 blocks - [+] not killing flags when we kill an object!!!!! fixed now. - [+] memory usage is now ticking up heaps more slowly. - [+] investigate further with valgrind again..... - [+] when summoning, prefer cells for which the player has los. - [+] make jammed doors harder to open. - [+] no forcing a door open on your first go. should be: - [+] the door is jammed! - [+] you force it open. - [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
killflagsofid(map->flags, F_NEWWATERDEPTH);
redrawresume();
- [+] CRASH in killflag() - [+] symptoms - [+] often happens right after creating a new map (ie. trigger it through a gate spell) - [+] bug in createriver(). fixed. - [+] somehow casting GATE is causing object flagpiles on the PLAYER's map to become corrupted. - [+] "the young hawk wakes up" CRASH, flagpile corrupt on stone. - [+] object itself seems okay. - [+] o->flags is becoming corrupt!!! - [+] so all its flags are becoming corrupt (id = massive number, next = fffff) - [+] traceback: - [+] #0 0x0000000100081188 in killflag (f=0x103321090) at flag.c:815 #1 0x0000000100081b3a in timeeffectsflag (f=0x103321090, howlong=1) at flag.c:1075 #2 0x00000001000825f8 in timeeffectsflags (fp=0x1038e0600) at flag.c:1302 #3 0x0000000100129b01 in timeeffectsob (o=0x1036e2460) at objects.c:11877 #4 0x0000000100005114 in timeeffectsworld (map=0x102aa1a00, updategametime=-1) at nexus.c:1685 #5 0x0000000100003a28 in donextturn (map=0x102aa1a00) at nexus.c:952 #6 0x00000001000029b1 in main (argc=1, argv=0x7fff5fbff848) at nexus.c:525 - [+] try this: in timeeffectsflags on objects, check PREVIOUS object's flagpile. - [+] try this: add checkflagS() after updatefpindex - [+] NOT happening during timeeffectsob(). - [+] compile with optimisation................. - [+] hapepning in createmap. but objects on the PLAYER's map are being corrupted, not the new one. - [+] happening in addrandomthing() - [+] happening in addmonster(). - [+] lf = addmonster(c, R_RANDOM, NULL, B_TRUE, 1, B_TRUE, nadded); - [+] (glowbug was created) - [+] happening in addlf() - [+] glowbug again!! to do with light recalc ?? - [+] happening in setrace() - [+] happening while inheriting F_AWARENESS. have double checked to confirm this! - [+] in HASLOS????!! - [+] addflag->flagcausesloscalc, so haslos for all on the map. problem happens when we call haslos() for the lf getting F_AWARENESS added. - [+] is the problem that doing a los recalc breaks when we are still missing half our racial flags ? - [+] QUICK FIX: - [+] dont recalc los for any lf where born = 0. just set nlos to 0 - [+] and manually recalc los just before returning from addlf - [+] put sawgrsaas back to being common, not frequent - [+] is this finally fixed now? i think so!! - [+] if so, remove calls to "checkallflags" and most calls to checkflags() - [+] remove agility bonuses for weapon acc. now comes just from skill and from agi scaling on weapons. - [+] maybe difference in hit dice is a bad way to determine shieldblock difficulty. - [+] ...because the player rapidly gets higher than all other monsters on their dungeonlev. - [+] maybe just use monster's hitdice, ignore players. - [+] bug: abilities costing no stamina? - [+] in addmap, i am not initialising enough nextmap[]s - [+] flag.c bug: don't need to set player->losdirty when recalcing light on a different map - [+] lfs with F_DOESNTMOVE weren't attacking - [+] manuals are starting off known. why?? - [+] they don't appear in knowledge, so don't appear to have a hiddenname at all. - [+] make magical barriers block view. - [+] when describing armour / shield penalty, say - [+] "will lower your accuracy by 1" - [+] instead of - [+] "will lower your accuracy by 5%" - [+] make firstaid skill incrase your hp per level - [+] high agility seems to be giving a MASSIVE accuracy increase when higher than weapon's stat. - [+] maybe remove or reduce AGI acc bonuses. - [+] sack started off containing a FOOD VENDOR!@# - [+] size check obviously isn't working. - [+] need "obfits" in givestartobs!! - [+] hitting ESC when firing with F doesn't cancel.f - [+] hunter should start with fur cloak - [+] spellbooks are too cheap ($12) - [+] remove'p' for lockpick- just operate the lockpickobject. - [+] removed, - [+] ...but now tha tI've removed 'p' for picklocks, can i still use 'o' on a dagger or similar? - [+] NO - [+] maybe turn "pick lock" into a still - [+] how do you gain this? level 1 lockpicking - [+] then make lockpicks etc non-operable - [+] fix crash when drunk lfs take damage - [+] sleeping powder costs nothing - [+] memleaks??? 700mb usage!! - [+] valgrind - [+] found a memleak problem: definitely lost: 10,719,039 bytes in 11,420 blocks - [+] not killing flags when we kill an object!!!!! fixed now. - [+] memory usage is now ticking up heaps more slowly. - [+] investigate further with valgrind again..... - [+] when summoning, prefer cells for which the player has los. - [+] make jammed doors harder to open. - [+] no forcing a door open on your first go. should be: - [+] the door is jammed! - [+] you force it open. - [+] used f_jammed v1 = known
2011-12-17 06:54:08 +11:00
2011-02-01 06:16:13 +11:00
// now handle effects on lifeforms and/or their objects
for (l = map->lf ; l ; l = nextl) {
nextl = l->next;
//checkflagpile(l->flags);
2011-02-01 06:16:13 +11:00
timeeffectslf(l);
//checkflagpile(l->flags);
2011-02-01 06:16:13 +11:00
}
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
// time out warnings
for (w = firstwarning ;w ; w = nextw) {
nextw = w->next;
- [+] rename dragon to wyrm - [+] cooked food shouldn't "completely rot away" - [+] fire l6: meteor - large version of fireball - [+] burning feet - [+] evaporate should be a fire spell too. - [+] more gods should remove curse for you. - [+] eyebats shouldn't sleep - [+] make hecta's prayers even more powerful. - [+] fix bug in bjorn's truestrike effect - [+] bjorn should un-dull weapons - [+] fix buggy supply closet definitions - was getting 1-5 of same object rather than 1-5 different ones - [+] restrict potion of growth to lower levels. - [+] change method of determining how much you can carry. - [+] change initial modification spell to 'enlarge object' - [+] enlarge object - [+] door -> seals with surroundings - [+] rock -> boulder - [+] sword -> greatsword - [+] buckler -> next size shield - [+] bag -> next size bag - [+] or should this be a different spell? - [+] immolate - [+] if a successful unarmed attack, lf catches on fire. - [+] wizard isn't weilding staff. are fists better? - [+] freezing touch shouldn't work on dragonwood - [+] fix bug preventing vision when meditating - [+] auto shortcuts - [+] wizards: pri/sec spells are 1/2 - [+] cook: lowest shortcut left. - [+] statbar not being updated when i drink potion of magic. - [+] warn that flying will stop mapping. - [+] bjorn gifts should only be ones which you are skilled in! - [+] add 'appropriate' - [+] then apply to god.c - [+] warn if you pick up poison stuff and you god doesn't like it - [+] "I hope you're not planning on using that/those...." - [+] superheat - throw potion like a grenade
2012-01-30 09:47:43 +11:00
if (w->lifetime > 0) {
w->lifetime--;
if (w->lifetime <= 0) killwarning(w);
}
- [+] change how critical hits work - [+] must score a hit first THEN pass a critical hit % check. - [+] when asking for an object form the player's pack, default to NOT showing long format - [+] in askobject, pass in actionchar. remember choice for each actionchar. and use it as a default. - [+] warning system - [+] warnabout(char *warntext) - [+] if already confirmed it, keep going - [+] otherwise ask to confirm - [+] confirmations time out after some time... - [+] replace injury warnings - [+] reduce spell range - [+] big bug - way too many critical hits! - [+] askcoods: accept 'enter' to select a cell - [+] armour should never reduce damage under 1 - [+] for playable races, show bonus/penalties when selecting them. - [+] add f_hatesracewithflag with ashkari - [+] mammoan - no athletics! - [+] bug writing hiscores - need to escape 's. - [+] add v2 to F_ATTREQ - scaling. - [+] will scale up to 3 above/below - [+] v2 = 1 means "+/- v2 per point above/below" - [+] more than 3 below means you can't use it. modify "meetsattreq" - [+] more than 3 above gives no extra bonus. - [+] this is MANDATORY. add to checks. - [+] add messages if your skill it slightly too low - [+] STR scales damage, AGI scales tohit and crit chance - [+] make sure showlfstats takes this into account - [+] make sure rolltohit / getdamrange takes this into account - [+] what do I do with attreq IQ??? mus tmeet it. - [+] missile weapons: no scaling, must meet reqs - [+] reduce regular strength dam mod - [+] you only get attr bonuses if you are skilled with the weapon. - [+] crash: getrandomrace(NULL, NA) returning null! - [+] don't give away invisible creature locations in askcoords - [+] does fireat automatically re-calc lof based on obstacles? - [+] if so then change haslof in askcoords to be hasKNOWNlof! - [+] catlike race - ashkari - [+] bonus - [+] has climbing, listen - [+] jump ability - [+] agi+ - [+] unarmed attack is claws - [+] balance (stability?) - [+] eyesight, darkvision - [+] enhancesmell (only low) - [+] pens: - [+] hunger faster - [+] carnivore - [+] low-- wis (ie vuln to magic) - [+] vuln to magic - [+] vuln to water - [+] vuln to sound - [+] low str - [+] auto rage on dog/wolf/mouse/bird/chicken - [+] races CANT ahve certain flags - [+] apply this during giveskill()
2011-11-22 08:26:33 +11:00
}
2011-02-01 06:16:13 +11:00
//dblog("AFTER SORT AND ADJUST.....");
//dumplf();
} // end if timespent
if (updategametime) {
// inc game time
- [+] press ] then \ - CRASH. - [+] if sound is behind walls: - [+] you hear a muffled explosion - [+] int canhear() needs one more optional argument: &numwallspassed - [+] if supplied, fill it in. - [+] in noise(), check numwallspassed. if there were any, then say 'muffled'. or maybe if more than 2? play around with this. - [+] listen skill should also give more info about NON monster sounds - [+] ie. direction, distance. - [+] set user->changinglev when CHECKING stairs in the same way as when we use them. - [+] monk abil - iron fist - use all remaining stamina as damage + knockback * [+] HITCONFER - this should only work if you were attacked through a BITE or CLAW etc. - [+] bug... werewolves etc not attacking properly after shapehifting - [+] some tech/tools should be usable with hands (ie. watch). f_operwithouthands - [+] werewolves sohuld keep f_hitconfer after shapeshifting - [+] done - [+] summoned creatures from ai should never attack their masters!!! - [+] only the PLAYER can be infected by a werewolf? or only HUMANS ? - [+] when a werewolf changes to animal form, no longer hide true race as 'human' - [+] lycanthropy? - [+] how to get it: - [+] drink were-xxx blood (->potion of lycanthropy, never appears randomly) - [+] bitten by a lycanthrope (chance) with hitconfer and fail a con check - [+] change f_lycanthrope so text = racename. - [+] effects when you get it: - [+] right away, add diseased with lycanthropy. incubatino infinite ? - [+] if you are incubating lycanthropy, you always change at the full moon (and get rage, and lose control). - [+] at this point, complete the incubation and... - [+] add f_hatesall - [+] lose control for a while - [+] after you change back the first time, you can change at will. (but there is a risk each time of losing control) - [+] player regains control - [+] remove aicontrolled, hatesall, rage - [+] actually add f_lycanthrope, text=xxx, v0=4 - [+] when f_lycanthrope v0 drops to 0 or less... - [+] canwill shapeshift with race:xxx - [+] how to remove it - [+] remove curse scroll - [+] drink holy water - [+] these will: - [+] cure any incubating curse - [+] cure any f_poisoned curse - [+] cure lycanthropy, and any flags FROMLYCANTHROPY - [+] other effect - [+] wont/cant walk into holy circle? - [+] holy circle hurts you - [+] shouldn't be able to get critical hits on you (ie. injuries) if you ahve heavenly armour - [+] bug in f_poisoned text. i think i've fixed this now. Died on level 2 of the dungeon. Killed by venom poisoning from 5-10 - [+] donated objects count towards xp! - [+] -50% of value if not known. - [+] -25% of value if not id'd - [+] donating objects will anger felix
2012-07-11 14:10:21 +10:00
inctime(firstlftime);
// inc total gametime passed
gamesecs += firstlftime;
while (gamesecs >= DAYSECS) {
gamesecs -= DAYSECS;
gamedays++;
}
}
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
// if it's the player's turn, announce sun set/rise
if (isplayer(map->lf)) {
int h,m,s;
splittime(&h, &m, &s);
flag_t *f;
if (h != prevhour) {
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
// effects which occur at certain times.
if (godprayedto(R_GODLIFE)) {
if (h == 6) {
char text[BUFLEN];
switch (rnd(1,4)) {
case 1: snprintf(text, BUFLEN, "The hour of Glorana's Peace is here."); break;
case 2: snprintf(text, BUFLEN, "Mortal, rejoice in the hour of Glorana's Peace!"); break;
case 3: snprintf(text, BUFLEN, "Now is the time of Glorana's Peace."); break;
case 4: snprintf(text, BUFLEN, "Be healed my child - Glorana's Peace is upon you."); break;
}
godsay(R_GODLIFE, B_TRUE, text);
more();
} else if (h == 7) {
char text[BUFLEN];
switch (rnd(1,3)) {
case 1: snprintf(text, BUFLEN, "Glorana's Peace has come to an end for today."); break;
case 2: snprintf(text, BUFLEN, "...and so ends Glorana's Peace."); break;
case 3: snprintf(text, BUFLEN, "I declare Glorana's Peace ended."); break;
}
godsay(R_GODLIFE, B_TRUE, text);
more();
}
}
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
// midnight
if (h == 0) {
cell_t *c;
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
condset_t cs;
initcondv(&cs, CC_WALKABLE, B_TRUE, NA,
CC_ISROOM, B_TRUE, NA,
CC_NONE
);
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
// lunar gate appears in a random spot on the player's level
- [+] vault:pub - [+] has lots of recruitable people - [+] plants, magic creatures, etc shoudl have infinite staina - [+] severed fingers/heads are no longer considered "corpses". - [+] new kind of bed: pile of straw - [+] closed shops now work properly. - [+] stench skillcheck (in makenauseated) - announce this differenlty to 'nothing happen's - [+] monsters won't turn to face sounds when fleeing. - [+] increase accuracy for spear, but reduce accuracy when adjacent - [+] why didn't cyborg warrior start with bullwhip equiped?? - [+] isbetterwepthan() should take EXTRADAM flag into account - [+] monster starting skill levels should depend on iq - [+] no sprinting with injured legs - [+] more restructions when stunned: - [+] no throwing - [+] no operating - [+] no firearms - [+] tombstone text: Eaten by a snow troll's halberd - [+] bug: ekrub gained MASSIVE piety when i sacrificed a soldier ant corpse! reduced. - [+] learning certain lore skills should please gods - [+] repairing should take a lot longer. ie. shoudlbn't be able to do it during a fight. - [+] workhelpobs (spanner/needle) should have F_HELPSREPAIR, v0=material, v1=howmuch - [+] continuerepairing() should only fix <skill + helpsrepair> hp per turn. - [+] announce helpsrepair in obdesc - [+] coldroom vault: - [+] ice floor - [+] ice walls - [+] ice pillar - [+] frozen corpses - [+] new job: gladiator - [+] sword - [+] shield - [+] high shield skill - [+] high evasion skill - [+] limited armour skill - [+] net - [+] war cry fairly early on - [+] gust of wind and airblast should drop flying creatures - [+] fall_from_air(). - [+] trigger then when wind-based effects hit. - [+] chance of falling depends on size. - [+] if you polymorph a monster, it should NOT turn back to its original form! - [+] criticals dont seem to be happening any more... fixed - [+] when picking first askcoords target lf, pick the closest - [+] sakcs etc should contain rarer objects. - [+] intelligent ai: if exhausted and in battle, and faster than opponent, flee.??? - [+] easy way to fix reachability: - [+] is there a solid cell which is: - [+] adjacent to both a filled and an unfilled area? - [+] not a fixed vault wall? - [+] if so, just clear it. - [+] genericise getrandomrace flags - [+] some containers should have mini/tiny monsters inside! - [+] f_hashidinglf, v0=rid - [+] if you loot it, monster jumps out - [+] ...and gets a free hit! - [+] perception lets you see the container moving (only if it weighs less than what is inside it) - [+] genericise getrandomcell() with conditionsets. * [+] condset_t - [+] then replace all getrandomadjcell() calls... - [+] remove getrandomroomcells - [+] then remove WE_xxx
2012-11-13 16:04:30 +11:00
//c = getrandomroomcell(map, ANYROOM, WE_WALKABLE);
c = getcell_cond(map, &cs);
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
if (c) {
o = addobfast(c->obpile, OT_LUNARGATE);
if (o) {
// 60 turns is approximately 1 hour.
maketemporary(o, 60, "vanishes");
}
}
}
- [+] if can WILL _and_ CAST a spell, use power level from whichever is highest - [+] exorcise spell - l2 summoning - [+] +10% chance per skill level, -5% per monster TR, +5% per spell power - [+] implement - [+] paladins get exorcise at l5 - [+] new purity god pray effect: 100% success exorcisms. - [+] new perks for lore:demonology - [+] nov: exorcise demons (power 1) - [+] skilled: summon demon - [+] midnight -portals open. moongate? lunar portal? lunar gate? moon door? - [+] portals with no F_MAPLINK will create a random destinatino in the same map. - [+] makeobjecttemporary() function - [+] when it strikes midnight, a portal appears somewhere on the plaeyr's level - [+] the portal is temporary for 60 turns (ie. approx 1 hours) turns until end of midnight (calc this) - [+] fixed crash on "w-" - [+] during glorana's peace, striketoko is okay. - [+] announce posion potion effects. - [+] make dark maps just lower max vis range, isntead of not being lit ? - [+] redo entire light calculation code. - [+] light effects: - [+] create "bright light" object in radius around target cell (it has f_produceslight) - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] DARKNESS - [+] make a "magical darkness" object - [+] blocks view. - [+] at high level, light spell will increase ILLUMINATION level of the entire map. - [+] bright light objects burn/scare undead - [+] undead won't walk into cells with bright light power >= their TR - [+] monsters in cells with produces light which are vulnerable to light take damage - [+] cases to check for: - [+] vuln to light - [+] migrains - [+] iscelllit() should return light level of cell (sum of f_produceslight) - [+] gaining/losing f_produceslight should setlosdirty - [+] makelit() just places light/darkness objects - [+] monsters in cells with produces light which have good eyes get blinded - [+] move blinding code out of spell.c and into turneffectslf - [+] placing light/darkness objects causes los recalc in any who can see them - [+] this shoudl happen automatically since they will have BLOCKSVIEW. - [+] islit(): - [+] check for ot_darkness objects in the cell - [+] check for f_produceslight flags in the cell's lfs/objects - [+] return how MUCH the cell is lit - [+] f_produceslight flag now just lets you see further in the darkness - [+] still give light sources to monsters, but change the check to see whether we do this (check the map's illumnation level) - [+] get rid of calclight() code. - [+] then i can get rid of seeindark code in los checking ??? - [+] get rid of eyesight adjustment code - [+] remove enum LIGHTLEV - [+] CHANGE nightvisrange - it just countres the map's illumination level - [+] remove lf->eyeadjustment - [+] remove lf->losdark - [+] remove lf->nlosdark - [+] remove cell->lit and littime and otiglittimer and origlight and lastlit - [+] remove it - [+] don't save it
2012-08-02 14:08:27 +10:00
// if it's a new hour, announce the time.
f = lfhasflagval(player, F_KNOWSTIME, B_TRUE, NA, NA, NULL); // check for full 24-hour knowledge first.
if (!f) f = lfhasflag(player, F_KNOWSTIME);
- [+] announce when a web spell hits you - [+] grammar: xxx "flys" into view. need getmoveverbplural() - [+] make yumi's "well, that seems unfair" only work when killed by a mosnter which didn't chase you up. - [+] no unarmed skill descriptions!! - [+] remove pain ability from stink beetle - [+] cockroach - with just high armour rating (10) - [+] bajeetle - lower armour but bite causes pain - [+] yumi - only allow you to gain piety from letting a monster run away ONCE per mosnter - [+] new monster: petrifungus - [+] give merciful fighting for novoice adanced combat - [+] monsters should lose targets when eating - [+] vault: window in wall - [+] fix werewolf hiding code for Rattus (when medium sized) - [+] "you hear a muffled slithering" - this shouldnt be loud enough to go through walls! - [+] selected Evil Adventurer. alignment ended up as NONE - [+] have added debugging - [+] wait for it to happen again - [+] put in code to check at start of turn whethe r my alignment just changed. - [+] my alignment seems to have changed to NONE - [+] POLYMORPH is causing this. - [+] fixed - [+] commando should have low level version of gunblade - [+] electromachete - low pierce + low electric - [+] gunblade - med slash + low explosive - [+] boomstick - med bash + high explosive - [+] commando should start with a few energy packs (need to add this object) - [+] l2 tech - [+] operate it to recharge tech which has charges. - [+] like a scroll of replenishment, but only for tech. - [+] when monsters follow you up stairs, they should face you - [+] jewelry store should buy watches - [+] when exploding cells, remember who caused it - [+] new arg: lifeform_t *causedby - [+] use this when dealing damage, so that it counts as player kill (etC) - [+] explodeob - [+] monks sohuld be very resistant to being scared - [+] gauntlets (or other hard gloves) should increase unarmed damge by 1 - [+] seems almost impossible to break locks on chests by bashing.... check the calc. - [+] fixed. - [+] ekrub should accept sacrifices of plant matter - [+] sebastian - absorbs physical damage to increase damage. - [+] after first hit: +1dam, knockback - [+] after 2nd: +2 dam - [+] etc - [+] vuln to non-physical (fire, magic, cold, elec, etc) - [+] cockroach, plague rat should taint anything it walks on - [+] fix up morale checks. 30 should be 100. therefore: multiply by 3 and a bit. - [+] CRASH during wish for Power - [+] bug: - [+] You whack the pixie. The pixie turns to face you. The pixie turns to flee from you! Amberon's voice booms out from the heavens: "You dare attack an innocent?" Amberon's voice booms out from the heavens: "You dare attack an innocent?" The pixie gestures at itself. - [+] baba yaga's hut - [+] shoudln't be able todrink potions - [+] shouldn't take criticals - [+] don't annoucne time during combat - [+] bug after giving gold to a bandit: - [+] $ - 0 gold dollars - [+] lore: tech... every level says' no special effects' - [+] bug: Strength: 24 (very weak, +1 dmg)* - [+] bug in getstrdammod() - [+] bug: A brown snake walks into view. - [+] should be 'slithers' - [+] mud shouldnt make shoes wet - [+] refridgerator should only have meat in it - [+] some jobs which have whip skills - [+] scourge should always start with a whip. - [+] fighter should be able to pick it - [+] aligned temples sohuld be half price (or free if god is pleased?) - [+] SM_DETECTCURSE - [+] SM_PURCHASEITEMS - [+] SM_BLESS - [+] SM_MIRACLE - [+] re-introduce monster zoos vault - [+] bullwhip shouldn't be able to dull! - [+] banana skin not slippery anoymore - [+] slightly boost player's starting hp - [+] why can vampire bat reach me to damage by boots/trousers? - [+] check out canreachbp() in lf.c - [+] maybe fixed - [+] commando's starting gun should start with normal bullets, never silver - [+] klikirak should grant fire powers - [+] cast pyromania when you pray - [+] gift: immolate every 20 turns - [+] fix trytokillobs() - this might fix some of the infinite loops i'm getting during level creation. - [+] klikirak should give slightly more xp for sacrifing objects - [+] hawks should swoop more often - [+] book colours are incorrect (ie. "red book" isn't red) - [+] i saw "something burns!" while resting... - [+] make hollow trees be green - [+] blessed amnesia shouldn't do anything bad - [+] armour stores shouldn't get hot! - [+] earthworm should only divide from slash damage - not bash - [+] queen ant shoudl be able to summon lots of soldiers - [+] staircases should be on top of ash piles when draring them!! - [+] in fact, staircases should be on top of _everything_ - [+] sanctuary potion should put out fires under you! (or anything with walkdam) - [+] shouldn't be able to smell by's hut - [+] wood wall should be diggable with pickaxe - [+] does shovel actually work? no, but it does now. - [+] dungeon level name - if it has a swamp vault, level is just called "the swamp" - [+] fire damage to bread = toast - [+] only say "the light here is a bit dim" etc if it's different form your previous level - [+] weapon stores shouldn't appear in baba yaha's hut! - [+] i think i said "weapon" but it turned into weapon store. - [+] works in a wish...... is this only a problem in a vault? - [+] test agian..... - [+] during summon mosnter, don't say 'the xxx starts to fly!' before "the xxx appears" - [+] when i read a create monster scroll, this _doesnt_ happen. - [+] when i cast summon small animals and a brian bat appears, it _doesnt_ happen - [+] only seems to happen whan a mosnter uses a summon spell - [+] maybe to do with finalisemonster() or "autogen" being set in addmonster? - [+] fixed now? - [+] walking on water shouldn't extinguish a flaming weapon! - [+] losehp_real needs a 'bodypart' argument - [+] klikirak should like killing plants - [+] do something to stop kilkirak worhipers from scarificeing the entire forest! - [+] if you attack a plant lf in the sylvan forest - [+] nearby plants attack. - [+] 33% chance of a treant: - [+] same if you destroy a plant object - [+] takedamage() needs a "fromlf" arg - [+] or sacrifice one. - [+] _warning_ if you attack a plant object or plant lf. (but don't kill it) - [+] WISDOM warnings: - [+] if you are about to attack an OC_FLORA object in the woods (and have felt the woods get angry once before) - [+] if you are about to attack a RC_PLANT lf in the woods - [+] if you are about to attack a CT_WALLTREE cell in the woods - [+] remove base 'wizard' class...
2012-08-12 15:04:49 +10:00
if (f && !isasleep(player) && !isblind(player)) {
if (!isinbattle(player, B_FALSE, B_FALSE)) {
announcetime(h,m,s, f->val[0]);
}
}
} // end if h != prevhour
prevhour = h;
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
}
2010-12-02 12:17:54 +11:00
2011-02-01 06:16:13 +11:00
if (db) dblog("cur time is %ld\n",curtime);
2010-12-02 12:17:54 +11:00
}
* [+] 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
void usage(char *progname) {
char *fmt = " -%c %-10s %s\n";
printf("usage: %s [options]\n",progname);
printf(fmt, 'f', "filename", "Read player details from given file.");
printf(fmt, 'h', "", "Show this text.");
printf(fmt, 's', "", "Show the top 10 hiscores.");
printf(fmt, 'S', "num", "Show the top 'num' hiscores.");
printf("\n");
* [+] 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
}