nexus/text.c

2622 lines
57 KiB
C
Raw Normal View History

- [+] 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
#include <assert.h>
2011-02-01 06:16:13 +11:00
#include <ctype.h>
2010-12-02 12:17:54 +11:00
#include <stdio.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
#include <stdarg.h>
2010-12-02 12:17:54 +11:00
#include <stdlib.h>
#include <string.h>
#include "attack.h"
2010-12-02 12:17:54 +11:00
#include "defs.h"
#include "flag.h"
2011-02-01 06:16:13 +11:00
#include "lf.h"
#include "map.h"
#include "move.h"
* [+] 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
#include "nexus.h"
2010-12-02 12:17:54 +11:00
#include "objects.h"
2011-02-01 06:16:13 +11:00
#include "text.h"
extern long curtime;
2010-12-02 12:17:54 +11:00
- [+] 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
extern lifeform_t *player;
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
extern enum GAMEMODE gamemode;
- [+] 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
extern enum WINGAMETYPE wintype;
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
extern material_t *material,*lastmaterial;
- [+] 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
int needan(char *text) {
if (isvowel(tolower(text[0]))) {
return B_TRUE;
}
return B_FALSE;
}
2010-12-02 12:17:54 +11:00
char *capitalise(char *text) {
* [+] 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(text)) {
char *p;
p = text;
while (*p == '^') {
p++; // go past the ^
if (!(*p)) return text; // do nothing
p++; // go past the colour char
if (!(*p)) return text; // do nothing
}
*p = toupper(*p);
2011-02-01 06:16:13 +11:00
}
2010-12-02 12:17:54 +11:00
return text;
}
- [+] 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
// capitalise all words
char *capitaliseall(char *text) {
if (strlen(text) > 0) {
char *p;
for (p = text ; *p; p++) {
if (p == text) { // first letter
*p = toupper(*p);
} else if (*(p-1) == ' ') { // first letter after a space
*p = toupper(*p);
}
}
}
return text;
}
* [+] make vending machines use this container code instead. - [+] don't say "you see a few things" if one of them is footsteps * [+] IFMONSTER code failing....because flags are now SORTED!!! - [+] tumble - askcoords is letting us pick a cell we don't have lof to. * [+] assign a name to lfs once you hire them * [+] coloured msgtext - [+] make min dam reduction from AR be AR/5. - [+] safebox - [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with no getsweaker (val1) * [+] make fire / ice damage mor elike netheck - [+] towns should have gates on EVERY side - [+] forest cells outside town gates need to be CLEARED. (maybe turn to dirt) - [+] fix up knock targetting to include magical barriers - [+] say "open a bag?" not "operate a bag?" * [+] implement immunetodisease - [+] sort known skills in @s. - [+] better damage bonus when attacking someone who is asleep - [+] practive firearms/throwing * [+] need objecttype->size * [+] containers * [+] change guns so you have to reload them. ("operate") - [+] crash when loading map with water - [+] SAVE OBJECT CONTENTSk - [+] monsters with jobs aren't getting start items - [+] shopkeeper has shotgun - [+] bug: monster keeps swapping between shotgun and flail - [+] when hiring, remember failure. * [+] Inn - [+] bug: pets fighting!!! then they all turn on you. never make allies get angry unless the attacker is the player * [+] hiring npcs - [+] chat to pet: "stay close" or "keep your distance" - [+] new 'furniture' obclass - [+] allow for 'randomshop' regiontype * [+] add enchantment school - [+] cast a scroll of mending on itself. CRASH. * [+] lessengravity should make you jump better and get knocked back further - [+] boostgrav/lessengrav cancel out each other. * [+] CRASH when you fall down a hole and die. - [+] problem: master gravitation doesn't let us cast levitat. getspellschoolknown() should return the HIGHEST known skill, not the first. * [+] bug: dregion is null?!??! * [+] dig a pit, if you cleared out land below, you just stay down there. - [+] potion of leveitation - [+] warning msg when levitate is about to expire * [+] if you fall upwards to the surface... * [+] if you are ever on the surface while levitating.... - [+] BUG: cna't go up stairs to surface anymore!!!!! - [+] get hungry LOTS more quickly when you start sprinting * [+] monk slow metabolism psionic pell. - [+] fix buf with lore giving LESS accuracy instead of more. - [+] food shop - [+] wand of digging not identified if you dig upwards * [+] when you make ah ole in the roof, objects above should fall through right away * [+] all towns should have: - [+] give monks more psionics spells. - [+] sk_throwing skill - [+] make calm animals use spellpower * [+] add wisdom * [+] need to save region data along with maps * [+] COMBINE armour evasion and accuracy penalty!!! * [+] make armour reduce accuracy as well (unless you have 'armour' skill) - [+] landmine trap * [+] make friendly monsters of same raceclass swap ammo - [+] rename 'pull' to 'suck' to avoid confusion with pull metal * [+] food to fix blindness - [+] potion of coffee * [+] genericise statbrackets * [+] tumble ability * [+] simplify spell power * [+] shopkeeprs should be allowed to pursue targets outside of the shop. - [+] give shopkeepers a shotgun * [+] make F_RNDHOSTILE be able to ahve a random chance. * [+] if you randomly generate food in a shop, still give it a price. - [+] if peaceful humanoid walks into you, "sorry!" - [+] sayphrase(lf, SP_SORRY, vol) - [+] only let you recruit jobs with j_recruitable - [+] CRASH - summon "monk" - [+] dogs, - [+] chickens, - [+] drunks, * [+] village objects - [+] change armourrating AGAIN. instead of a percentage, make it a number. - [+] rename inn to "pub", since you can't sleep there. * [+] random speech code * [+] genericise sayphrase text based on lf's job * [+] monks - add rest of abliities - [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
enum COLOUR chartocol(char ch) {
switch (ch) {
case 'w': // warning
return C_YELLOW;
case 'W': // extra warning
return C_BOLDMAGENTA;
case 'b': // bad
return C_BROWN;
case 'B': // v.bad
return C_RED;
- [+] 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
case 'T': // terrible
return C_ORANGE;
* [+] 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
case 'g': // good
return C_GREEN;
case 'G': // v.good
return C_CYAN;
- [+] 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
case 'E': // excllent
return C_BOLDCYAN;
case 'h': // 'hilite'
return C_WHITE;
- [+] 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
case 'l': // 'bLue'
return C_BLUE;
* [+] 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
case 'n': // normal
default:
break;
}
return C_GREY;
}
char *construct_hit_string(lifeform_t *lf, lifeform_t *victim, char *attackername, char *victimname, char *victimbpname, object_t *wep, enum DAMTYPE damtype, int dam, int maxhp, int idx, int backstab, int critical, int fatal, int isunarmed, char *retbuf) {
int usecrittext = B_FALSE;
char wepname[BUFLEN],buf[BUFLEN];
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
char locvictimname[BUFLEN];
enum HELPLESSTYPE helpless;
// default
strcpy(retbuf, "");
- [+] 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 (wep) {
getobname(wep, wepname, 1);
} else {
strcpy(wepname, "?noweapon?"); // should never be displayed
}
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
// modify victimname if required
//if (helpless && !isbehind(lf, victim)) {
- [+] increase damage for missiles - [+] retain items on polymorph if new race has f_nopack or nobodypart for equipped stuff - [+] move obs to lf->polypack - [+] save this! - [+] fix bugs with remembering/restoring stats on polyrevert. - [+] scroll of permenance should make conferred attribute changes permenant - [+] change strength damage mod to be range -2 to 2 (instead of a percentage) - [+] corrected poison/methane gas difference. - [+] hecta gift: necromancy books - [+] damagecell() - [+] make rock walls turn to rubble ("50-100 stones") - [+] change to lore skill: incrase damage by a fixed amount, not a percentage. - [+] felix effect: evaulation (identify obs) - [+] god piety should never change once thy are ignoring you. - [+] shields should protect against crit hits - [+] hecta no longer gives unholy water? - [+] I'm able to use OT_A_SHIELDBASH with 0 stamina. - [+] CRASH during loading - [+] fixed - [+] ...but check for more.... - [+] quaff potion of fury - "you're too tired to do that right now" - [+] player was being prompted for locaiton when monster tried to wear a bandage. - [+] closing iron gates is making them opaque. - [+] only add blocksview if the objectTYPE has it. - [+] fountains of experience not drying up. - [+] looking for tracks on stairs. never finding any!! - [+] shop descriptions not working anymore. - [+] left hand got destroyed by explosion. - [+] i then wore a ring... and it went on "left finger"! - [+] all spell effects should cease just before death. - [+] crystal shield/armour shouldn't call wear() but rather just set f_equipped directly. - [+] bedrooms/kitchens should have tiled or carpet floors? - [+] tiled = less stability (especially with water!!) - [+] carpet = more stability - [+] fire skeleton - [+] firebug - [+] ice wraith - [+] winter wolf - [+] skoob (snowman) - [+] crymidia can cast crystal spells - [+] blastbug - [+] bilco - casts flood at itself. - [+] rubber-like things - [+] slug - [+] snail
2012-01-25 07:38:59 +11:00
if (victim && !isplayer(victim) && ishelplessvictim(victim, lf, &helpless)) {
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
char *vn;
// strip "the" from "the xxx"
vn = strdup(victimname);
vn = strrep(vn, "the ", "", NULL);
switch (helpless) {
case HL_CANTSEE:
sprintf(locvictimname, "the helpless %s", vn);
break;
case HL_FLEEING:
sprintf(locvictimname, "the fleeing %s", vn);
break;
default: break;
}
free(vn);
} else {
strcpy(locvictimname, victimname);
}
// initial hit...
if (idx == 0) {
if (critical && !fatal) usecrittext = B_TRUE;
if (isplayer(lf)) {
char extradambuf[BUFLEN];
char withwep[BUFLEN];
char *verb;
int needfree = B_FALSE;
- [+] 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
int knownnodam = B_FALSE;
int col;
strcpy(extradambuf, "");
if (wep && !ismeleeweapon(wep)) {
snprintf(withwep, BUFLEN, " with %s", wepname);
} else {
strcpy(withwep, "");
}
strcpy(extradambuf, "");
- [+] 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 ((dam == 0) && (damtype != DT_TOUCH)) {
if (!victim || getlorelevel(lf, victim->race->raceclass->id)) {
- [+] delvers should always want money for info, unless you are a delver too. - [+] mirror image (mental) - [+] varpower - [+] makes power 'clone' lfs who look the same as caster - [+] ie. same race. - [+] also same job/armour/weps? - [+] add f_noxp - [+] add f_nocorpse - [+] add f_summonedby so they vanish when the caster dies - [+] add f_phantasm - [+] vanish after _power_ hits, - [+] attacks do 0 damage - [+] don't announce innefectual attacks - [+] dont cast spells or use abilities - [+] petify() them if made by the player - [+] force them to stay close. - [+] in io.c or getlfname, show "[clone]" if it has f_phantasm and was created by player - [+] mosnters try to attack them. - [+] once one gets hit enough times, it disappears - [+] if the caster dies or changes level, they disappear. - [+] can't talk to them - [+] their obejcts vanish when they die - [+] don't talk - [+] make Yumi more about forgiving silly mistakes and avoiding instakills - [+] remove liking of healing - [+] remove like of healing spells - [+] takes a long time to anger. - [+] aviod traps (bamf you away before they trigger) - [+] prayers: - [+] resist stoning (pray while appropriate creatures around) - [+] resist paralysis (pray while appropriate creatures around) - [+] sleep on enemies - [+] passive powers: - [+] always warn as if wisdom is high (passive) - [+] always save when killed right after using stairs (passive) "well, that seemed unfair." - [+] gift: - [+] auto sixth sense - [+] potions of restoration - [+] ring of miracles - [+] shouldn't be able to Offer while enraged. - [+] don't lose stamina while caffeinated - [+] new vault: pit with walkway around it - [+] bug: when worshipping yumi you get "you kill xxx" but they're still alive - [+] ... but they're still alive! - [+] ... for yumi, move KO chance from losehp() to attacklf(). - [+] do the check BEFORE setting 'fatal' - [+] pass forceko to losehp_real - [+] bug: adjustdamhardness should only trigger when ismeleedam() is true, not isphysicaldam() - [+] greatly reduce motel cost - [+] change order in attack.c: apply damage THEN announce, to deal with KO - [+] do it. - [+] test KO code. - [+] then check that feign death still works - [+] demonskin vest should be flammable or vulnerable to fire. - [+] time to get up should depend on size. - [+] less than human: shortnone - [+] human: normal - [+] larger than human: longer - [+] expert unarmed now gives you 'flip' - [+] reduce damage done by low-level monsters - [+] change resoration into a spell - [+] implement - [+] test - [+] new spell: ressurection - [+] corpses need to remember their lf's level - [+] test - [+] godstone of life - revives/restores all - [+] rename "confiscate" to "yoink", and make it take a random object at power 1, selected at power 2 - [+] gods should attack player if they are Enraged or Furious - [+] is STR calc to see if you can push a boulder still working? - [+] change to wizards: - [+] start at novice in all magic skills (but don't gain initial spells) - [+] killing undead should please glorana LOTS. because it's hard to gain piety with her otherwise. - [+] restoration spells/potion should hurt undead - [+] healing spells/potions should hurt undead - [+] immolate shouldnt work if there is aleady a fire tehre. CODE FOR WINNING THE GAME: - [+] get at least one godstone - [+] exit the dungeon - [+] find the portal to the realm of gods - [+] opposing god should appear once you pick up a godstone, and tell you what to do next. - [+] "come to the realm of gods and use it to destroy (related god)" - [+] "or if you lack the courage, give it to me!" - [+] "you will find a portal on the surface" - [+] use the portal to teleport to realm of gods - [+] implement text for all gods... - [+] god text in wt_god - should say 'but you werent meant to replace them!' - [+] EITHER: - [+] challenge and defeat the god related to this godstone (more points. "Crowned the god of xxx.") - [+] TEST - [+] offer the godstone to the godstone's opposing god (less points, "Ascended to demigod-hood.") - [+] implement - [+] TEST GODSTONES: - [+] klikirak: rage - [+] done - [+] (make this one have fire effects too) - [+] glorana: life - [+] Felix shouldn't be able to yoink the godstone off you! - [+] Write up the rest of the Godstone finding text..... - [+] magic - [+] battle - [+] life - [+] mercy - [+] you can't hurt gods unless you - [+] a) have their godstone - [+] b) are in the realm of gods
2012-02-17 16:16:45 +11:00
if (!lfhasflag(lf, F_PHANTASM)) {
//strcpy(extradambuf, " but do no damage");
strcpy(extradambuf, " ineffectually");
knownnodam = B_TRUE;
}
}
} else if (lfhasflag(player, F_EXTRAINFO) || lfhasflag(player, F_OMNIPOTENT) ) {
snprintf(extradambuf, BUFLEN, " [%d dmg]",dam);
}
if (backstab && (idx == 0)) {
verb = strdup("backstab");
needfree = B_TRUE;
} else if (fatal) {
verb = getkillverb(victim, wep, damtype, dam, maxhp);
- [+] replace "fireplace" with "brazier" - [+] make non-lethal kills (ie. knockouts) display in grey rather than green - [+] ability: merciful fighting? always does bashing damage, always ko. - [+] done - [+] Chatting to gods shouldn't work - [+] bug: when running with shift+dir, i'm running past corridors. - [+] when announcing skill gains, say if they are from a level. - [+] set lifetime to FROMJOB when giving them. - [+] if lifetime = FROMJOB, ""you can now use the ability 'xxx' (warrior skill)" - [+] grenade/c4 explosions should be able to damage cells! - [+] change grenades to have bigger radius (dtorth 1) - [+] automatically call "fireat" for grenades - [+] impement this - [+] make the timer shorter! - [+] add extra checks to stop monsters from attacking allies - [+] replace "insane"monster behaviour with F_TERRITORIAL v0=range. - [+] will atatck anything else visible within range xxx - [+] grave sprite should be able to see in the dark - [+] instead of saying "An orc [drunk]", change getlfname to return "a drunken orc" etc - [+] when you throw an object at someone in a wall, it should fall onto the ground in front, NOT the wall itself! - [+] show how MUCH high/low str/agi will affect weapon damage/accuracy - [+] different shoddy/masterwork text based on weapon types - [+] bug: monsters never bleed from injuries! - [+] another bug in getavgdam - negative accuracy returns negative damage since we modify damage by accuracy! - [+] within this function, limit accuracy to range 0-100 - [+] bug with options - opt->id never being initialised! - [+] don't apply "behaviours" to anythuing other than humanoids. - [+] increase missile accuracy if you are above your target - [+] (ie you are flying higher them them) - [+] getflightsizemod()
2012-01-18 07:46:23 +11:00
if (strstr(verb, "knock out") && !isplayer(victim)) knownnodam = B_TRUE;
} else {
if (!victim || // atacking an object
(getlorelevel(lf, victim->race->raceclass->id) >= PR_BEGINNER) || // know about the race
!ismeleedam(damtype)) { // non-physical damage
verb = getattackverb(lf, wep, damtype, dam, maxhp);
} else {
// always use verb for 10%
verb = getattackverb(lf, wep, damtype, pctof(10, maxhp), maxhp);
}
}
- [+] 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
if (knownnodam) {
col = C_GREY;
} else if (fatal) {
col = C_GREEN;
} else {
col = C_BROWN; // normal hit
}
snprintf(retbuf, BUFLEN, "^%dYou %s%s %s%s%s%s", col,
usecrittext ? "critically " : "", verb,
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
usecrittext ? victimbpname : locvictimname, withwep,extradambuf,
(fatal || backstab) ? "!" : ".");
if (needfree) {
free(verb);
}
} else { // ie. the attacker is a monster
if (cansee(player, lf) || (victim && isplayer(victim))) {
int needfree = B_FALSE;
char *verb;
char withwep[BUFLEN];
char nodamstr[BUFLEN];
int nodam = B_FALSE;
- [+] 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
int col;
// capitalise first letter
strcpy(buf, attackername);
capitalise(buf);
if (wep && !isunarmed && (lf->race->id != R_DANCINGWEAPON) && cansee(player, lf)) {
snprintf(withwep, BUFLEN, " with %s", wepname);
} else {
strcpy(withwep, "");
}
verb = getattackverb(lf, wep, damtype,dam,maxhp);
* [+] 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
// when the player is being attacked, we want:
// "the xxx hits you. you die."
// rather than
// "the xxx kills you."
if (fatal && !isplayer(victim)) {
verb = getkillverb(victim, wep, damtype, dam, maxhp);
} else {
verb = getattackverb(lf, wep, damtype,dam,maxhp);
}
- [+] 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
strcpy(nodamstr, "");
if ((dam == 0) && (damtype != DT_TOUCH) && !lfhasflag(lf, F_PHANTASM)) {
nodam = B_TRUE;
strcpy(nodamstr, " ineffectually");
}
- [+] 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
if (backstab && (idx == 0)) {
verb = strdup("backstab");
needfree = B_TRUE;
}
- [+] 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
if (victim && isplayer(victim) && !nodam) {
col = C_YELLOW;
} else {
col = C_GREY;
}
snprintf(retbuf, BUFLEN, "^%d%s %s%s%s %s%s%s%c", col, buf,
usecrittext ? "critically " : "", verb,
needses(verb) ? "es" : "s",
usecrittext ? victimbpname : locvictimname,withwep, nodamstr,
backstab ? '!' : '.');
if (needfree) {
free(verb);
}
}
}
} else { // follow-up weapon damage (ie from a flaming sword etc)
if (victim && cansee(player, victim)) {
if (dam == 0) { // ineffectual
switch (damtype) {
case DT_COLD:
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
snprintf(retbuf, BUFLEN, "^n%s %s cold.", locvictimname, isplayer(victim) ? "don't feel" : "doesn't look");
break;
case DT_HEAT:
case DT_FIRE:
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
snprintf(retbuf, BUFLEN, "^n%s %s hot.", locvictimname, isplayer(victim) ? "don't feel" : "doesn't look");
break;
- [+] 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
//case DT_MAGIC:
//snprintf(retbuf, BUFLEN, "^n%s shrug%s off the effects.", locvictimname, isplayer(victim) ? "" : "s");
//break;
default:
- [+] 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
strcpy(retbuf, "");
break;
}
} else if (fatal) { // fatal
switch (damtype) {
case DT_COLD:
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
snprintf(retbuf, BUFLEN, "^%c%s %s chilled to the bone!", getlfcol(victim, CC_BAD), locvictimname, is(victim));
break;
case DT_HEAT:
case DT_FIRE:
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
snprintf(retbuf, BUFLEN, "^%c%s %s incinerated!", getlfcol(victim, CC_BAD), locvictimname, is(victim));
break;
case DT_MAGIC:
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
snprintf(retbuf, BUFLEN, "^%c%s %s blasted with magic!", getlfcol(victim, CC_BAD), locvictimname, is(victim));
break;
default:
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
snprintf(retbuf, BUFLEN, "^%c%s %s killed!", getlfcol(victim, CC_BAD), locvictimname, is(victim));
break;
}
} else { // normal
switch (damtype) {
case DT_COLD:
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
snprintf(retbuf, BUFLEN, "^n%s %s chilled!", locvictimname, is(victim));
break;
case DT_HEAT:
case DT_FIRE:
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
snprintf(retbuf, BUFLEN, "^n%s %s burned!", locvictimname, is(victim));
break;
case DT_MAGIC:
- [+] dual wield, then weild -, say "y" to "weild nothing in your left hand", CRASH. - [+] rogue should start with novice speed and throwing - [+] better method of sneaking - just hiding in one spot isn't effective. - [+] get "hide" at novice level - [+] at beginner level, you can move while hiding. ( but if someone hears you, they spot you) - [+] if you can't see an object (ie in inventory it just comes up as "a potion"), make the description be generic. - [+] stealth shouldn't affect movement noise uless you are hiding - [+] move slower when hiding. - [+] trying to hide while already hiding will cancel it. - [+] rename f_sneak to f_movecarefully - [+] move "you attack the helpless xxx" into construct_hit_string. - [+] light level should affect stealth checks. - [+] flying should only impact stealth checks to make noise, not to hide. - [+] sprint should stop hiding! - [+] weapon brand: of protection. gives AR. - [+] make sure i show this in showlfarmour ] - [+] shouldn't be able to backstab plants - [+] no hiding while producing light. - [+] changing armour should stop you from hiding. - [+] let you hide when you can see monsters, but they instantly get F_SPOTTED. - [+] different verbs for god voices - [+] remove "enhanced smell" from xat and dire rat. - [+] make guns usually start with ammo - [+] gain attrib point on _every_ levelup, but 2 each time not 5. - [+] this means that we now gain 6 stat points every 3 levels rather than 5, but they can be spread out. - [+] rogue modifications - [+] change starting backstab level from beginner -> novice - [+] generated monsters: "It is sleeping. It is flying." - [+] should be sleeping AND flying! - [+] remove duplicate tanglemissile code. - [+] change F_ATTREQ - split up penalty cutoff and bonus cutoff - [+] needs a "boostafter" param. - [+] ie. - [+] needs at least ATTREQ agility to USE it. - [+] if you are less than this, start applying penalty. - [+] v2 = BOOSTAFTER level. (CHANGE) - [+] if you are above this amount, start applying bonus. - [+] text = scalepercent. (CHANGE) - [+] adjust code - [+] adjust defs - [+] explain in io.c - [+] test - [+] new felix pray effect: invisibiltity
2012-01-23 18:16:18 +11:00
snprintf(retbuf, BUFLEN, "^nMagical energy sears %s!", locvictimname);
break;
default:
- [+] 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
//snprintf(retbuf, BUFLEN, "^n%s %s hurt!", locvictimname, is(victim));
strcpy(retbuf, "");
break;
}
}
}
}
capitalise(retbuf);
return retbuf;
}
* [+] 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
char *dicetotext(int ndice, int nsides, int bonus, int *min, int *max, char *dicebuf, char *minmaxbuf) {
int localmin, localmax;
if (ndice == NA) ndice = 0;
if (nsides == NA) nsides = 0;
if (bonus == NA) bonus = 0;
// ie. rolled a 1 on all dice
localmin = (ndice * 1) + bonus;
// ie. rolled max on all dice
localmax = (ndice * nsides) + bonus;
if (min) {
*min = localmin;
}
if (max) {
*max = localmax;
}
if (dicebuf) {
if ((ndice == 0) || (nsides == 0)) {
snprintf(dicebuf, BUFLEN, "%d", bonus);
* [+] 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
} else {
if (bonus) {
snprintf(dicebuf, BUFLEN, "%dd%d%c%d", ndice, nsides,
* [+] 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
(bonus > 0) ? '+' : '-',
abs(bonus));
} else {
snprintf(dicebuf, BUFLEN, "%dd%d", ndice, nsides);
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
}
}
}
if (minmaxbuf) {
if (localmin == localmax) {
snprintf(minmaxbuf, BUFLEN, "%d", localmin);
* [+] 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
} else {
snprintf(minmaxbuf, BUFLEN, "%d-%d", localmin, localmax);
* [+] 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
}
}
return dicebuf;
}
* [+] 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 flip(int ch) {
switch (ch) {
case 'a': return 0x0250;
case 'b': return 'q';
case 'c': return 0x0254;
case 'd': return 'p';
case 'e': return 0x01dd;
case 'f': return 0x025f;
case 'g': return 0x0183;
case 'h': return 0x0265;
case 'i': return 0x0131;
case 'j': return 0x027e;
case 'k': return 0x029e;
case 'l': return 0x0283;
case 'm': return 0x026f;
case 'n': return 'u';
case 'r': return 0x0279;
case 't': return 0x0287;
case 'v': return 0x028c;
case 'w': return 0x028d;
case 'y': return 0x028e;
case '.': return 0x02d9;
case '[': return ']';
case '(': return ')';
case '{': return '}';
case '?': return 0x00bf;
case '!': return 0x00a1;
case '<': return '>';
case '_': return 0x203e;
}
return ch;
}
- [+] job abilities can now generally happen as often as you like, since they're ilmited by stamina. - [+] rename dexterity to agility - [+] The leprechaun steals an uncursed ring of miracles from you! The leprechaun cowers away from you! - [+] should FLEE , not cower! - [+] should set blessknown after reading a scroll - [+] cursed mending scroll not working on non-damaged objects - [+] spanner helps metal repair - [+] needle boosts sewing ability - [+] when resting in a tent, monstesr have very low chance of noticing you (5%) - [+] move display of resistances to 'effects' section. - [+] show what a mosnter wants in effects (if you have >= beginner knowledge) - [+] prevent running into monsters with shift+dir - [+] infinite loop when creating a map, constant getrandomroomcell() calls failing - [+] monstesr will steal objects they WANT rather than always random - [+] monster: - [+] leprechaun - [+] lucky - [+] covets gold - [+] shillelagh ? or just a club? - [+] blink - [+] steal - [+] dodge - [+] at the moment attack doesn't seem to be draining stamina... - [+] it is, but i'm getting it right back due to attack speed. - [+] make stamina take longer to regen. - 1 per 3 turns rather than 1 per 2. - [+] stamina loss must be MORE than basic regen rate (0.3) - [+] make stamina loss for attack depend on atatck speed! - [+] instead of "you feel sick", say "you have contracted weakening poison" or "you have been infected with xxx" - [+] store stamina as a float, but getstamina() should return an int. - [+] sprinting - use 1.5 stamina per cell instead of 1? - [+] modify accuracy text - [+] fork - [+] showing f_entertext should set didmsg - [+] instead of printing 100% accuracy, show "Acc:0" (ie 100), "Acc:-1" (ie -10) etc - [+] do this in @@ - [+] do this in describeob - [+] nocturnal monsters - [+] base monsters initially being asleep on time and whether mosnter is nocturnal - [+] also during aiturn(), if they have nothing to do and it's their sleeping time, goto sleep - [+] add flags - [+] flies should always move towards corpses if possible - [+] maybe F_WANTSOB corpse, covet? - [+] but thye can't pick it up so they'll just hover nearby? - [+] now they can be hostile too - [+] when we're picking a random corpse, try again if we get something with nocorpse like a ghost - [+] getrandomcorpserace() - [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should be more like 5 - [+] severed finger shoudn't count as making you bleed when you attack - [+] in askcoords, always show cell name - [+] monsters with no melee attacks can always cast spells while adjacent - [+] resting issues - [+] having a temporary injury means oyu need to rest, so don't say "you don't need to rest"! - [+] also don't stop resting until all temporary injuries are healed - [+] show comparative weights / armour ratings - [+] make price for npcs to join be lower - [+] assertion failure with who->timespent == 0 when a mosnter falls through a hole - [+] (after I follow by falling down the pit) - [+] make taketime() not work when not on the player's map - [+] bug - monsters never waking up - [+] "tailwind" spell (fast movement speed but forwards only) - [+] now that i have Hardness, _all_ reduced damage should go towards armour. - [+] earthquake - pits open up around you (but not under you) - [+] force sphere - radial blast outwards, knocks back lfs + obs + doors etc
2011-10-04 14:24:53 +11:00
// ie. "it has xxx accuracy"
char *getaccuracyname(int accpct) {
if (accpct >= 200) {
return "incredible";
} else if (accpct >= 150) {
- [+] 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
return "excellent";
} else if (accpct >= 120) {
return "great";
- [+] job abilities can now generally happen as often as you like, since they're ilmited by stamina. - [+] rename dexterity to agility - [+] The leprechaun steals an uncursed ring of miracles from you! The leprechaun cowers away from you! - [+] should FLEE , not cower! - [+] should set blessknown after reading a scroll - [+] cursed mending scroll not working on non-damaged objects - [+] spanner helps metal repair - [+] needle boosts sewing ability - [+] when resting in a tent, monstesr have very low chance of noticing you (5%) - [+] move display of resistances to 'effects' section. - [+] show what a mosnter wants in effects (if you have >= beginner knowledge) - [+] prevent running into monsters with shift+dir - [+] infinite loop when creating a map, constant getrandomroomcell() calls failing - [+] monstesr will steal objects they WANT rather than always random - [+] monster: - [+] leprechaun - [+] lucky - [+] covets gold - [+] shillelagh ? or just a club? - [+] blink - [+] steal - [+] dodge - [+] at the moment attack doesn't seem to be draining stamina... - [+] it is, but i'm getting it right back due to attack speed. - [+] make stamina take longer to regen. - 1 per 3 turns rather than 1 per 2. - [+] stamina loss must be MORE than basic regen rate (0.3) - [+] make stamina loss for attack depend on atatck speed! - [+] instead of "you feel sick", say "you have contracted weakening poison" or "you have been infected with xxx" - [+] store stamina as a float, but getstamina() should return an int. - [+] sprinting - use 1.5 stamina per cell instead of 1? - [+] modify accuracy text - [+] fork - [+] showing f_entertext should set didmsg - [+] instead of printing 100% accuracy, show "Acc:0" (ie 100), "Acc:-1" (ie -10) etc - [+] do this in @@ - [+] do this in describeob - [+] nocturnal monsters - [+] base monsters initially being asleep on time and whether mosnter is nocturnal - [+] also during aiturn(), if they have nothing to do and it's their sleeping time, goto sleep - [+] add flags - [+] flies should always move towards corpses if possible - [+] maybe F_WANTSOB corpse, covet? - [+] but thye can't pick it up so they'll just hover nearby? - [+] now they can be hostile too - [+] when we're picking a random corpse, try again if we get something with nocorpse like a ghost - [+] getrandomcorpserace() - [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should be more like 5 - [+] severed finger shoudn't count as making you bleed when you attack - [+] in askcoords, always show cell name - [+] monsters with no melee attacks can always cast spells while adjacent - [+] resting issues - [+] having a temporary injury means oyu need to rest, so don't say "you don't need to rest"! - [+] also don't stop resting until all temporary injuries are healed - [+] show comparative weights / armour ratings - [+] make price for npcs to join be lower - [+] assertion failure with who->timespent == 0 when a mosnter falls through a hole - [+] (after I follow by falling down the pit) - [+] make taketime() not work when not on the player's map - [+] bug - monsters never waking up - [+] "tailwind" spell (fast movement speed but forwards only) - [+] now that i have Hardness, _all_ reduced damage should go towards armour. - [+] earthquake - pits open up around you (but not under you) - [+] force sphere - radial blast outwards, knocks back lfs + obs + doors etc
2011-10-04 14:24:53 +11:00
} else if (accpct >= 100) {
return "good";
- [+] 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 if (accpct >= 80) {
- [+] job abilities can now generally happen as often as you like, since they're ilmited by stamina. - [+] rename dexterity to agility - [+] The leprechaun steals an uncursed ring of miracles from you! The leprechaun cowers away from you! - [+] should FLEE , not cower! - [+] should set blessknown after reading a scroll - [+] cursed mending scroll not working on non-damaged objects - [+] spanner helps metal repair - [+] needle boosts sewing ability - [+] when resting in a tent, monstesr have very low chance of noticing you (5%) - [+] move display of resistances to 'effects' section. - [+] show what a mosnter wants in effects (if you have >= beginner knowledge) - [+] prevent running into monsters with shift+dir - [+] infinite loop when creating a map, constant getrandomroomcell() calls failing - [+] monstesr will steal objects they WANT rather than always random - [+] monster: - [+] leprechaun - [+] lucky - [+] covets gold - [+] shillelagh ? or just a club? - [+] blink - [+] steal - [+] dodge - [+] at the moment attack doesn't seem to be draining stamina... - [+] it is, but i'm getting it right back due to attack speed. - [+] make stamina take longer to regen. - 1 per 3 turns rather than 1 per 2. - [+] stamina loss must be MORE than basic regen rate (0.3) - [+] make stamina loss for attack depend on atatck speed! - [+] instead of "you feel sick", say "you have contracted weakening poison" or "you have been infected with xxx" - [+] store stamina as a float, but getstamina() should return an int. - [+] sprinting - use 1.5 stamina per cell instead of 1? - [+] modify accuracy text - [+] fork - [+] showing f_entertext should set didmsg - [+] instead of printing 100% accuracy, show "Acc:0" (ie 100), "Acc:-1" (ie -10) etc - [+] do this in @@ - [+] do this in describeob - [+] nocturnal monsters - [+] base monsters initially being asleep on time and whether mosnter is nocturnal - [+] also during aiturn(), if they have nothing to do and it's their sleeping time, goto sleep - [+] add flags - [+] flies should always move towards corpses if possible - [+] maybe F_WANTSOB corpse, covet? - [+] but thye can't pick it up so they'll just hover nearby? - [+] now they can be hostile too - [+] when we're picking a random corpse, try again if we get something with nocorpse like a ghost - [+] getrandomcorpserace() - [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should be more like 5 - [+] severed finger shoudn't count as making you bleed when you attack - [+] in askcoords, always show cell name - [+] monsters with no melee attacks can always cast spells while adjacent - [+] resting issues - [+] having a temporary injury means oyu need to rest, so don't say "you don't need to rest"! - [+] also don't stop resting until all temporary injuries are healed - [+] show comparative weights / armour ratings - [+] make price for npcs to join be lower - [+] assertion failure with who->timespent == 0 when a mosnter falls through a hole - [+] (after I follow by falling down the pit) - [+] make taketime() not work when not on the player's map - [+] bug - monsters never waking up - [+] "tailwind" spell (fast movement speed but forwards only) - [+] now that i have Hardness, _all_ reduced damage should go towards armour. - [+] earthquake - pits open up around you (but not under you) - [+] force sphere - radial blast outwards, knocks back lfs + obs + doors etc
2011-10-04 14:24:53 +11:00
return "average";
- [+] 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 if (accpct >= 70) {
return "mediocre";
- [+] job abilities can now generally happen as often as you like, since they're ilmited by stamina. - [+] rename dexterity to agility - [+] The leprechaun steals an uncursed ring of miracles from you! The leprechaun cowers away from you! - [+] should FLEE , not cower! - [+] should set blessknown after reading a scroll - [+] cursed mending scroll not working on non-damaged objects - [+] spanner helps metal repair - [+] needle boosts sewing ability - [+] when resting in a tent, monstesr have very low chance of noticing you (5%) - [+] move display of resistances to 'effects' section. - [+] show what a mosnter wants in effects (if you have >= beginner knowledge) - [+] prevent running into monsters with shift+dir - [+] infinite loop when creating a map, constant getrandomroomcell() calls failing - [+] monstesr will steal objects they WANT rather than always random - [+] monster: - [+] leprechaun - [+] lucky - [+] covets gold - [+] shillelagh ? or just a club? - [+] blink - [+] steal - [+] dodge - [+] at the moment attack doesn't seem to be draining stamina... - [+] it is, but i'm getting it right back due to attack speed. - [+] make stamina take longer to regen. - 1 per 3 turns rather than 1 per 2. - [+] stamina loss must be MORE than basic regen rate (0.3) - [+] make stamina loss for attack depend on atatck speed! - [+] instead of "you feel sick", say "you have contracted weakening poison" or "you have been infected with xxx" - [+] store stamina as a float, but getstamina() should return an int. - [+] sprinting - use 1.5 stamina per cell instead of 1? - [+] modify accuracy text - [+] fork - [+] showing f_entertext should set didmsg - [+] instead of printing 100% accuracy, show "Acc:0" (ie 100), "Acc:-1" (ie -10) etc - [+] do this in @@ - [+] do this in describeob - [+] nocturnal monsters - [+] base monsters initially being asleep on time and whether mosnter is nocturnal - [+] also during aiturn(), if they have nothing to do and it's their sleeping time, goto sleep - [+] add flags - [+] flies should always move towards corpses if possible - [+] maybe F_WANTSOB corpse, covet? - [+] but thye can't pick it up so they'll just hover nearby? - [+] now they can be hostile too - [+] when we're picking a random corpse, try again if we get something with nocorpse like a ghost - [+] getrandomcorpserace() - [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should be more like 5 - [+] severed finger shoudn't count as making you bleed when you attack - [+] in askcoords, always show cell name - [+] monsters with no melee attacks can always cast spells while adjacent - [+] resting issues - [+] having a temporary injury means oyu need to rest, so don't say "you don't need to rest"! - [+] also don't stop resting until all temporary injuries are healed - [+] show comparative weights / armour ratings - [+] make price for npcs to join be lower - [+] assertion failure with who->timespent == 0 when a mosnter falls through a hole - [+] (after I follow by falling down the pit) - [+] make taketime() not work when not on the player's map - [+] bug - monsters never waking up - [+] "tailwind" spell (fast movement speed but forwards only) - [+] now that i have Hardness, _all_ reduced damage should go towards armour. - [+] earthquake - pits open up around you (but not under you) - [+] force sphere - radial blast outwards, knocks back lfs + obs + doors etc
2011-10-04 14:24:53 +11:00
} else if (accpct >= 50) {
return "poor";
} else if (accpct >= 30) {
return "very poor";
} else if (accpct >= 20) {
return "extremely poor";
} else {
return "a complete lack of";
}
}
- [+] 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 getaccuracymodnum(int accpctmod) {
return accpctmod / 5;
}
- [+] job abilities can now generally happen as often as you like, since they're ilmited by stamina. - [+] rename dexterity to agility - [+] The leprechaun steals an uncursed ring of miracles from you! The leprechaun cowers away from you! - [+] should FLEE , not cower! - [+] should set blessknown after reading a scroll - [+] cursed mending scroll not working on non-damaged objects - [+] spanner helps metal repair - [+] needle boosts sewing ability - [+] when resting in a tent, monstesr have very low chance of noticing you (5%) - [+] move display of resistances to 'effects' section. - [+] show what a mosnter wants in effects (if you have >= beginner knowledge) - [+] prevent running into monsters with shift+dir - [+] infinite loop when creating a map, constant getrandomroomcell() calls failing - [+] monstesr will steal objects they WANT rather than always random - [+] monster: - [+] leprechaun - [+] lucky - [+] covets gold - [+] shillelagh ? or just a club? - [+] blink - [+] steal - [+] dodge - [+] at the moment attack doesn't seem to be draining stamina... - [+] it is, but i'm getting it right back due to attack speed. - [+] make stamina take longer to regen. - 1 per 3 turns rather than 1 per 2. - [+] stamina loss must be MORE than basic regen rate (0.3) - [+] make stamina loss for attack depend on atatck speed! - [+] instead of "you feel sick", say "you have contracted weakening poison" or "you have been infected with xxx" - [+] store stamina as a float, but getstamina() should return an int. - [+] sprinting - use 1.5 stamina per cell instead of 1? - [+] modify accuracy text - [+] fork - [+] showing f_entertext should set didmsg - [+] instead of printing 100% accuracy, show "Acc:0" (ie 100), "Acc:-1" (ie -10) etc - [+] do this in @@ - [+] do this in describeob - [+] nocturnal monsters - [+] base monsters initially being asleep on time and whether mosnter is nocturnal - [+] also during aiturn(), if they have nothing to do and it's their sleeping time, goto sleep - [+] add flags - [+] flies should always move towards corpses if possible - [+] maybe F_WANTSOB corpse, covet? - [+] but thye can't pick it up so they'll just hover nearby? - [+] now they can be hostile too - [+] when we're picking a random corpse, try again if we get something with nocorpse like a ghost - [+] getrandomcorpserace() - [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should be more like 5 - [+] severed finger shoudn't count as making you bleed when you attack - [+] in askcoords, always show cell name - [+] monsters with no melee attacks can always cast spells while adjacent - [+] resting issues - [+] having a temporary injury means oyu need to rest, so don't say "you don't need to rest"! - [+] also don't stop resting until all temporary injuries are healed - [+] show comparative weights / armour ratings - [+] make price for npcs to join be lower - [+] assertion failure with who->timespent == 0 when a mosnter falls through a hole - [+] (after I follow by falling down the pit) - [+] make taketime() not work when not on the player's map - [+] bug - monsters never waking up - [+] "tailwind" spell (fast movement speed but forwards only) - [+] now that i have Hardness, _all_ reduced damage should go towards armour. - [+] earthquake - pits open up around you (but not under you) - [+] force sphere - radial blast outwards, knocks back lfs + obs + doors etc
2011-10-04 14:24:53 +11:00
int getaccuracynum(int accpct) {
int num;
num = (accpct - 100) / 5; //
return num;
}
- [+] 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
char *getalignmentname(enum ALIGNMENT al) {
switch (al) {
case AL_NONE: return "none";
case AL_GOOD: return "good";
case AL_NEUTRAL: return "neutral";
case AL_EVIL: return "evil";
default: break;
}
return "?unknown_align?";
}
// returns a const char *
char *getattackverb(lifeform_t *lf, object_t *wep, enum DAMTYPE damtype, int dam, int maxhp) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
//float pct;
enum LFSIZE ownersize = SZ_HUMAN;
flag_t *retflag[MAXCANDIDATES];
int nretflags = 0;
if (lf) {
ownersize = getlfsize(lf);
}
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
//pct = (int)(((float) dam / (float) maxhp) * 100.0);
// base verb on amount of damage, not percentage of target.
// reasoning: just because a monster has lots of hp, doesn't mean
// you can only "scratch" it rather than "slice" it.
//pct = (int)(((float) dam / 50.0) * 100.0);
if (wep) {
int i;
flag_t *f;
getflags(wep->flags, retflag, &nretflags, F_ATTACKVERB, F_NONE);
for (i = 0; i < nretflags; i++) {
f = retflag[i];
if ((f->val[0] == NA) && (f->val[1] == NA)) {
return f->text;
} else if (f->val[0]) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam >= f->val[0]) {
if (f->val[1] == NA) {
return f->text;
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= f->val[1]) {
return f->text;
}
}
} else if (f->val[1]) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam <= f->val[1]) {
return f->text;
}
}
}
- [+] 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
// whips deal normal damagetype(s), but have diferent attack
// verbs.
if (hasflagval(wep->flags, F_USESSKILL, SK_WHIPS, NA, NA, NULL)) {
if (dam <= 4) {
return "whip";
} else if (dam <= 8) {
return "thrash";
} else {
return "flay";
}
}
}
if (damtype == DT_ACID) {
return "burn";
} else if (damtype == DT_BASH) {
- [+] griddler didnt start with trident? - [+] it DID, but it dropped it cuase it was hot. - [+] griddler should be immune to redhot! (testing shows it currently isn't) - [+] once prisoners give you a reward, they shouldn't be allies anymore (ie shouldn't follow you up/down stairs) - [+] portal to realm of gods hsouldn't work until you have a godstone. - [+] why did potion of oil explode when i threw it? - [+] for unique monsters, instead of "jimbo's armour protects it", use "jimbo's armour protects him" - [+] use f_gender - [+] this replaces F_GODOF. - [+] change gods to use this too. - [+] change cloak of shadows - only work if max vis range is low ? - [+] monsters can't see you if they are >=3 away - [+] F_SHADOWED - [+] more amulets - [+] of the traveller (go to a much deeper level or branch when you put it on. go back when you take it off) - [+] implement - [+] usually start cursed - [+] boost piety gain - [+] soul feasting - [+] acrobatics (tumble/jump) - [+] choking - [+] first add f_nobreath - [+] doesn't work if you don't need to breath - [+] hydra blood poisonous - [+] handle "linkrace:xxx splash of blood" - [+] make bleed() use this. - [+] add f_venomblood to r_hydra (and others?) - [+] make filling potions from blood check for f_linkrace->f_venomousblood - [+] maybe handle this more elegantly. - [+] add f_bloodfillob to blood objects (inherit from lf) - [+] fine, but what about addobsinradius? make it populate retobs!!! - [+] change f_venomblood to f_bloodfillob->ot_pot_poison - [+] remove "linkrace:xxx" code from objects.c and from bleed() - [+] flashbang shouldnt affect user (you would look away) - [+] add F_THROWNBY to objects when you throw them. - [+] stop initial revolvers from starting with 'a rubber bullet' - [+] dry ice grenade - csats "snapfreeze" - [+] needs f_spellcloudondeath - [+] implement - [+] spiked club - [+] The hawk critically claws your hands. Your ! - [+] fixed. - [+] need another way to unlock chests - [+] bash them - [+] if it is trapped, high chance that the trap will go off - [+] if you attack something which is locked, it has a small chance of becoming unlocked - [+] rnd(1,your_str) must be > lockdiff! - [+] different unarmed attack verbs for monk - [+] javelin of lightning - [+] when you throw it: - [+] dothrow() calls spelleffects(LTBOLT) - [+] then uses up one charge - [+] if charges are left: - [+] reforms in your hands - [+] otherwise it turns into a normal javelin - [+] shovel - [+] jackhammer (like pickaxe but faster)
2012-04-14 08:52:35 +10:00
// chance of special monk attack verb
if (lf && hasjob(lf, J_MONK) && wep && hasflag(wep->flags, F_UNARMEDWEP) && onein(2)) {
switch (rnd(1,7)) {
case 1: return "punch";
case 2: return "palmstrike";
case 3: return "elbow";
case 4: return "kick";
case 5: return "roundhouse kick";
case 6: return "karate chop";
case 7: return "strike";
}
} else {
- [+] griddler didnt start with trident? - [+] it DID, but it dropped it cuase it was hot. - [+] griddler should be immune to redhot! (testing shows it currently isn't) - [+] once prisoners give you a reward, they shouldn't be allies anymore (ie shouldn't follow you up/down stairs) - [+] portal to realm of gods hsouldn't work until you have a godstone. - [+] why did potion of oil explode when i threw it? - [+] for unique monsters, instead of "jimbo's armour protects it", use "jimbo's armour protects him" - [+] use f_gender - [+] this replaces F_GODOF. - [+] change gods to use this too. - [+] change cloak of shadows - only work if max vis range is low ? - [+] monsters can't see you if they are >=3 away - [+] F_SHADOWED - [+] more amulets - [+] of the traveller (go to a much deeper level or branch when you put it on. go back when you take it off) - [+] implement - [+] usually start cursed - [+] boost piety gain - [+] soul feasting - [+] acrobatics (tumble/jump) - [+] choking - [+] first add f_nobreath - [+] doesn't work if you don't need to breath - [+] hydra blood poisonous - [+] handle "linkrace:xxx splash of blood" - [+] make bleed() use this. - [+] add f_venomblood to r_hydra (and others?) - [+] make filling potions from blood check for f_linkrace->f_venomousblood - [+] maybe handle this more elegantly. - [+] add f_bloodfillob to blood objects (inherit from lf) - [+] fine, but what about addobsinradius? make it populate retobs!!! - [+] change f_venomblood to f_bloodfillob->ot_pot_poison - [+] remove "linkrace:xxx" code from objects.c and from bleed() - [+] flashbang shouldnt affect user (you would look away) - [+] add F_THROWNBY to objects when you throw them. - [+] stop initial revolvers from starting with 'a rubber bullet' - [+] dry ice grenade - csats "snapfreeze" - [+] needs f_spellcloudondeath - [+] implement - [+] spiked club - [+] The hawk critically claws your hands. Your ! - [+] fixed. - [+] need another way to unlock chests - [+] bash them - [+] if it is trapped, high chance that the trap will go off - [+] if you attack something which is locked, it has a small chance of becoming unlocked - [+] rnd(1,your_str) must be > lockdiff! - [+] different unarmed attack verbs for monk - [+] javelin of lightning - [+] when you throw it: - [+] dothrow() calls spelleffects(LTBOLT) - [+] then uses up one charge - [+] if charges are left: - [+] reforms in your hands - [+] otherwise it turns into a normal javelin - [+] shovel - [+] jackhammer (like pickaxe but faster)
2012-04-14 08:52:35 +10:00
if (dam <= 2) {
return "whack";
} else if (dam <= 6) {
if (onein(2)) {
return "hit";
} else {
return "bash";
}
} else if (dam <= 12) {
return "pound";
} else if (dam <= 16) {
return "slam";
} else if (dam <= 20) {
return "pummel";
} else {
return "clobber";
}
}
} else if (damtype == DT_BITE) {
if (lf && (ownersize <= SZ_SMALL)) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam <= 2) {
return "nip";
} else {
return "bite";
}
} else {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam <= 4) {
return "gnaw";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 8) {
return "bite";
} else {
return "savage";
}
}
} else if (damtype == DT_CHOP) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam <= 4) {
- [+] 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
return "chop";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 8) {
return "hack";
} else {
- [+] 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
return "cleave";
}
} else if (damtype == DT_COLD) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam <= 4) {
return "chill";
} else {
return "freeze";
}
} else if (damtype == DT_CRUSH) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
return "crush";
} else if (damtype == DT_ELECTRIC) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam <= 2) {
return "zap";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 6) {
return "jolt";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 12) {
return "shock";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 18) {
return "electrify";
} else {
return "electrocute";
}
} else if ((damtype == DT_FIRE) || (damtype == DT_HEAT)) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam <= 2) {
return "scorch";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 6) {
return "singe";
} else if (dam <= 12) {
return "burn";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 18) {
return "scald";
} else {
return "incinerate";
}
} else if (damtype == DT_HOLY) {
switch (rnd(1,3)) {
case 1:
return "smite";
case 2:
return "cleanse";
case 3:
return "purify";
}
} else if (damtype == DT_MAGIC) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam <= 2) {
return "zap";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 6) {
return "sear";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else {
return "blast";
}
} else if (damtype == DT_PIERCE) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam <= 2) {
return "poke";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 6) {
return "stab";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 12) {
return "pierce";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 18) {
return "spear";
} else {
return "deeply stab";
}
} else if (damtype == DT_POISONGAS) {
return "poison";
} else if (damtype == DT_PROJECTILE) {
return "hit";
} else if (damtype == DT_SLASH) {
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
if (dam <= 2) {
return "scratch";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 6) {
return "hit";
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
} else if (dam <= 12) {
return "slash";
} else {
return "slice";
}
} else if (damtype == DT_TOUCH) {
return "touch";
} else if (damtype == DT_WATER) {
// for when water-vulnerable things go into water
return "hurt";
} else if (damtype == DT_UNARMED) {
if (onein(2)) {
return "punch";
} else {
return "hit";
}
}
return "hit";
}
- [+] 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
char *getattrabbrev(enum ATTRIB att) {
switch (att) {
case A_NONE:
return "??";
case A_CHA:
return "Ch";
case A_CON:
* [+] make vending machines use this container code instead. - [+] don't say "you see a few things" if one of them is footsteps * [+] IFMONSTER code failing....because flags are now SORTED!!! - [+] tumble - askcoords is letting us pick a cell we don't have lof to. * [+] assign a name to lfs once you hire them * [+] coloured msgtext - [+] make min dam reduction from AR be AR/5. - [+] safebox - [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with no getsweaker (val1) * [+] make fire / ice damage mor elike netheck - [+] towns should have gates on EVERY side - [+] forest cells outside town gates need to be CLEARED. (maybe turn to dirt) - [+] fix up knock targetting to include magical barriers - [+] say "open a bag?" not "operate a bag?" * [+] implement immunetodisease - [+] sort known skills in @s. - [+] better damage bonus when attacking someone who is asleep - [+] practive firearms/throwing * [+] need objecttype->size * [+] containers * [+] change guns so you have to reload them. ("operate") - [+] crash when loading map with water - [+] SAVE OBJECT CONTENTSk - [+] monsters with jobs aren't getting start items - [+] shopkeeper has shotgun - [+] bug: monster keeps swapping between shotgun and flail - [+] when hiring, remember failure. * [+] Inn - [+] bug: pets fighting!!! then they all turn on you. never make allies get angry unless the attacker is the player * [+] hiring npcs - [+] chat to pet: "stay close" or "keep your distance" - [+] new 'furniture' obclass - [+] allow for 'randomshop' regiontype * [+] add enchantment school - [+] cast a scroll of mending on itself. CRASH. * [+] lessengravity should make you jump better and get knocked back further - [+] boostgrav/lessengrav cancel out each other. * [+] CRASH when you fall down a hole and die. - [+] problem: master gravitation doesn't let us cast levitat. getspellschoolknown() should return the HIGHEST known skill, not the first. * [+] bug: dregion is null?!??! * [+] dig a pit, if you cleared out land below, you just stay down there. - [+] potion of leveitation - [+] warning msg when levitate is about to expire * [+] if you fall upwards to the surface... * [+] if you are ever on the surface while levitating.... - [+] BUG: cna't go up stairs to surface anymore!!!!! - [+] get hungry LOTS more quickly when you start sprinting * [+] monk slow metabolism psionic pell. - [+] fix buf with lore giving LESS accuracy instead of more. - [+] food shop - [+] wand of digging not identified if you dig upwards * [+] when you make ah ole in the roof, objects above should fall through right away * [+] all towns should have: - [+] give monks more psionics spells. - [+] sk_throwing skill - [+] make calm animals use spellpower * [+] add wisdom * [+] need to save region data along with maps * [+] COMBINE armour evasion and accuracy penalty!!! * [+] make armour reduce accuracy as well (unless you have 'armour' skill) - [+] landmine trap * [+] make friendly monsters of same raceclass swap ammo - [+] rename 'pull' to 'suck' to avoid confusion with pull metal * [+] food to fix blindness - [+] potion of coffee * [+] genericise statbrackets * [+] tumble ability * [+] simplify spell power * [+] shopkeeprs should be allowed to pursue targets outside of the shop. - [+] give shopkeepers a shotgun * [+] make F_RNDHOSTILE be able to ahve a random chance. * [+] if you randomly generate food in a shop, still give it a price. - [+] if peaceful humanoid walks into you, "sorry!" - [+] sayphrase(lf, SP_SORRY, vol) - [+] only let you recruit jobs with j_recruitable - [+] CRASH - summon "monk" - [+] dogs, - [+] chickens, - [+] drunks, * [+] village objects - [+] change armourrating AGAIN. instead of a percentage, make it a number. - [+] rename inn to "pub", since you can't sleep there. * [+] random speech code * [+] genericise sayphrase text based on lf's job * [+] monks - add rest of abliities - [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
return "Ft";
- [+] job abilities can now generally happen as often as you like, since they're ilmited by stamina. - [+] rename dexterity to agility - [+] The leprechaun steals an uncursed ring of miracles from you! The leprechaun cowers away from you! - [+] should FLEE , not cower! - [+] should set blessknown after reading a scroll - [+] cursed mending scroll not working on non-damaged objects - [+] spanner helps metal repair - [+] needle boosts sewing ability - [+] when resting in a tent, monstesr have very low chance of noticing you (5%) - [+] move display of resistances to 'effects' section. - [+] show what a mosnter wants in effects (if you have >= beginner knowledge) - [+] prevent running into monsters with shift+dir - [+] infinite loop when creating a map, constant getrandomroomcell() calls failing - [+] monstesr will steal objects they WANT rather than always random - [+] monster: - [+] leprechaun - [+] lucky - [+] covets gold - [+] shillelagh ? or just a club? - [+] blink - [+] steal - [+] dodge - [+] at the moment attack doesn't seem to be draining stamina... - [+] it is, but i'm getting it right back due to attack speed. - [+] make stamina take longer to regen. - 1 per 3 turns rather than 1 per 2. - [+] stamina loss must be MORE than basic regen rate (0.3) - [+] make stamina loss for attack depend on atatck speed! - [+] instead of "you feel sick", say "you have contracted weakening poison" or "you have been infected with xxx" - [+] store stamina as a float, but getstamina() should return an int. - [+] sprinting - use 1.5 stamina per cell instead of 1? - [+] modify accuracy text - [+] fork - [+] showing f_entertext should set didmsg - [+] instead of printing 100% accuracy, show "Acc:0" (ie 100), "Acc:-1" (ie -10) etc - [+] do this in @@ - [+] do this in describeob - [+] nocturnal monsters - [+] base monsters initially being asleep on time and whether mosnter is nocturnal - [+] also during aiturn(), if they have nothing to do and it's their sleeping time, goto sleep - [+] add flags - [+] flies should always move towards corpses if possible - [+] maybe F_WANTSOB corpse, covet? - [+] but thye can't pick it up so they'll just hover nearby? - [+] now they can be hostile too - [+] when we're picking a random corpse, try again if we get something with nocorpse like a ghost - [+] getrandomcorpserace() - [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should be more like 5 - [+] severed finger shoudn't count as making you bleed when you attack - [+] in askcoords, always show cell name - [+] monsters with no melee attacks can always cast spells while adjacent - [+] resting issues - [+] having a temporary injury means oyu need to rest, so don't say "you don't need to rest"! - [+] also don't stop resting until all temporary injuries are healed - [+] show comparative weights / armour ratings - [+] make price for npcs to join be lower - [+] assertion failure with who->timespent == 0 when a mosnter falls through a hole - [+] (after I follow by falling down the pit) - [+] make taketime() not work when not on the player's map - [+] bug - monsters never waking up - [+] "tailwind" spell (fast movement speed but forwards only) - [+] now that i have Hardness, _all_ reduced damage should go towards armour. - [+] earthquake - pits open up around you (but not under you) - [+] force sphere - radial blast outwards, knocks back lfs + obs + doors etc
2011-10-04 14:24:53 +11:00
case A_AGI:
return "Ag";
case A_IQ:
return "Iq";
case A_STR:
return "St";
* [+] 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
case A_WIS:
return "Wi";
- [+] 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 "??";
}
* [+] 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
char *getattrbracketname(enum ATTRIB whichatt, enum ATTRBRACKET brack) {
switch (brack) {
case AT_EXLOW:
switch (whichatt) {
case A_CHA:
return "hideous";
case A_CON:
return "frail";
case A_AGI:
return "uncoordinated";
case A_IQ:
return "vegetable";
case A_STR:
return "helpless";
case A_WIS:
return "witless";
default:
return "?extralow?";
}
break;
case AT_VLOW:
switch (whichatt) {
case A_CHA:
return "repulsive";
case A_CON:
return "sickly";
case A_AGI:
return "oafish";
case A_IQ:
return "animal";
case A_STR:
return "feeble";
case A_WIS:
return "reckless";
default:
return "?verylow?";
}
break;
case AT_LOW:
switch (whichatt) {
case A_CHA:
return "ugly";
case A_CON:
return "unhealthy";
case A_AGI:
return "clumsy";
case A_IQ:
return "dim-witted";
case A_STR:
return "very weak";
case A_WIS:
return "foolish";
default:
return "?low?";
}
break;
case AT_LTAVERAGE:
switch (whichatt) {
case A_CHA:
return "unattractive";
case A_CON:
return "unfit";
case A_AGI:
return "awkward";
case A_IQ:
return "dopey";
case A_STR:
return "weak";
case A_WIS:
return "naive";
default:
return "?lt_average?";
}
break;
case AT_AVERAGE:
switch (whichatt) {
case A_CHA:
case A_CON:
case A_AGI:
case A_STR:
case A_IQ:
case A_WIS:
return "average";
default:
return "?average?";
}
break;
case AT_GTAVERAGE:
switch (whichatt) {
case A_CHA:
return "attractive";
case A_CON:
return "healthy";
case A_AGI:
return "dextrous";
case A_IQ:
return "smart";
case A_STR:
return "strong";
case A_WIS:
return "prudent";
default:
return "?gt_average?";
}
break;
case AT_HIGH:
switch (whichatt) {
case A_CHA:
return "alluring";
case A_CON:
return "very fit";
case A_AGI:
return "nimble";
case A_IQ:
return "enlightened";
case A_STR:
return "mighty";
case A_WIS:
return "astute";
default:
return "?high?";
}
break;
case AT_VHIGH:
switch (whichatt) {
case A_CHA:
return "beautiful";
case A_CON:
return "hardy";
case A_AGI:
return "agile";
case A_IQ:
return "genius";
case A_STR:
return "powerful";
case A_WIS:
return "wise";
default:
return "?veryhigh?";
}
break;
case AT_EXHIGH:
switch (whichatt) {
case A_CHA:
return "stunning";
case A_CON:
return "very hardy";
case A_AGI:
return "very agile";
case A_IQ:
return "supergenius";
case A_STR:
return "titanic";
case A_WIS:
return "sagely";
default:
return "?exhigh?";
}
break;
case AT_RANDOM:
return "random";
}
return "?unknown?";
}
- [+] 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
char getattrletter(enum ATTRIB att) {
switch (att) {
case A_NONE:
return '?';
case A_CHA:
return 'c';
case A_CON:
return 'f';
case A_AGI:
return 'a';
case A_IQ:
return 'i';
case A_STR:
return 's';
case A_WIS:
return 'w';
}
return '?';
}
2011-02-01 06:16:13 +11:00
char *getattrname(enum ATTRIB att) {
switch (att) {
* [+] 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 A_NONE:
return "?attrib_none?";
case A_CHA:
return "charisma";
case A_CON:
return "fitness";
- [+] job abilities can now generally happen as often as you like, since they're ilmited by stamina. - [+] rename dexterity to agility - [+] The leprechaun steals an uncursed ring of miracles from you! The leprechaun cowers away from you! - [+] should FLEE , not cower! - [+] should set blessknown after reading a scroll - [+] cursed mending scroll not working on non-damaged objects - [+] spanner helps metal repair - [+] needle boosts sewing ability - [+] when resting in a tent, monstesr have very low chance of noticing you (5%) - [+] move display of resistances to 'effects' section. - [+] show what a mosnter wants in effects (if you have >= beginner knowledge) - [+] prevent running into monsters with shift+dir - [+] infinite loop when creating a map, constant getrandomroomcell() calls failing - [+] monstesr will steal objects they WANT rather than always random - [+] monster: - [+] leprechaun - [+] lucky - [+] covets gold - [+] shillelagh ? or just a club? - [+] blink - [+] steal - [+] dodge - [+] at the moment attack doesn't seem to be draining stamina... - [+] it is, but i'm getting it right back due to attack speed. - [+] make stamina take longer to regen. - 1 per 3 turns rather than 1 per 2. - [+] stamina loss must be MORE than basic regen rate (0.3) - [+] make stamina loss for attack depend on atatck speed! - [+] instead of "you feel sick", say "you have contracted weakening poison" or "you have been infected with xxx" - [+] store stamina as a float, but getstamina() should return an int. - [+] sprinting - use 1.5 stamina per cell instead of 1? - [+] modify accuracy text - [+] fork - [+] showing f_entertext should set didmsg - [+] instead of printing 100% accuracy, show "Acc:0" (ie 100), "Acc:-1" (ie -10) etc - [+] do this in @@ - [+] do this in describeob - [+] nocturnal monsters - [+] base monsters initially being asleep on time and whether mosnter is nocturnal - [+] also during aiturn(), if they have nothing to do and it's their sleeping time, goto sleep - [+] add flags - [+] flies should always move towards corpses if possible - [+] maybe F_WANTSOB corpse, covet? - [+] but thye can't pick it up so they'll just hover nearby? - [+] now they can be hostile too - [+] when we're picking a random corpse, try again if we get something with nocorpse like a ghost - [+] getrandomcorpserace() - [+] lower stamina max - currently at lv1+ft:11 i have 7 stam. should be more like 5 - [+] severed finger shoudn't count as making you bleed when you attack - [+] in askcoords, always show cell name - [+] monsters with no melee attacks can always cast spells while adjacent - [+] resting issues - [+] having a temporary injury means oyu need to rest, so don't say "you don't need to rest"! - [+] also don't stop resting until all temporary injuries are healed - [+] show comparative weights / armour ratings - [+] make price for npcs to join be lower - [+] assertion failure with who->timespent == 0 when a mosnter falls through a hole - [+] (after I follow by falling down the pit) - [+] make taketime() not work when not on the player's map - [+] bug - monsters never waking up - [+] "tailwind" spell (fast movement speed but forwards only) - [+] now that i have Hardness, _all_ reduced damage should go towards armour. - [+] earthquake - pits open up around you (but not under you) - [+] force sphere - radial blast outwards, knocks back lfs + obs + doors etc
2011-10-04 14:24:53 +11:00
case A_AGI:
return "agility";
case A_IQ:
- [+] 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
return "intellect";
case A_STR:
return "strength";
* [+] 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
case A_WIS:
return "wisdom";
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
return "?badattrib?";
2011-02-01 06:16:13 +11:00
}
char *getdamname(enum DAMTYPE damtype) {
switch (damtype) {
case DT_ALL: return "all damage";
case DT_ACID: return "acid";
case DT_BASH: return "bludgeoning";
case DT_BITE: return "biting";
case DT_CHOP: return "chopping";
case DT_COLD: return "cold";
case DT_CRUSH: return "crushing";
case DT_DIRECT: return "direct";
case DT_DECAY: return "decay";
case DT_ELECTRIC: return "electricity";
case DT_EXPLOSIVE: return "explosive";
case DT_FALL: return "falling";
case DT_FIRE: return "fire";
case DT_HEAT: return "heat";
case DT_HOLY: return "holy damage";
case DT_LIGHT: return "light";
case DT_MAGIC: return "magical";
case DT_MELT: return "melting";
case DT_NECROTIC: return "lifedrain";
case DT_PETRIFY: return "petrification";
case DT_PIERCE: return "piercing";
case DT_POISON: return "poison";
case DT_POISONGAS: return "gas";
case DT_PROJECTILE: return "projectile";
case DT_SLASH: return "slashing";
case DT_SONIC: return "sonic";
case DT_TOUCH: return "touch";
case DT_UNARMED: return "unarmed";
case DT_WATER: return "water";
default: return "unknown";
}
return "unknown";
}
char *getdamnamenoun(enum DAMTYPE damtype) {
switch (damtype) {
case DT_ALL: return "all damage";
case DT_ACID: return "acid";
case DT_MELT: return "melting";
case DT_PETRIFY: return "petrification";
case DT_PIERCE: return "piercing damage";
case DT_POISONGAS: return "gas";
case DT_POISON: return "poison";
case DT_SLASH: return "slashing damage";
case DT_ELECTRIC: return "electricity";
case DT_EXPLOSIVE: return "explosives";
case DT_FIRE: return "fire";
case DT_HEAT: return "heat";
case DT_BITE: return "bite";
- [+] 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
case DT_BASH: return "bludgeoning damage";
case DT_CHOP: return "chopping damage";
case DT_COLD: return "cold";
case DT_PROJECTILE: return "projectiles";
case DT_HOLY: return "holy damage";
case DT_DIRECT: return "direct damage";
case DT_DECAY: return "decay damage";
case DT_WATER: return "water";
case DT_MAGIC: return "magical damage";
case DT_NECROTIC: return "lifedrain damage";
case DT_TOUCH: return "touch effects";
case DT_UNARMED: return "unarmed damage";
case DT_LIGHT: return "light damage";
case DT_CRUSH: return "crushing damage";
case DT_SONIC: return "sonic damage";
case DT_FALL: return "damage from falling";
default: return "unknown";
}
return "unkmown";
}
- [+] 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
char *getdirname(int dir) {
switch (dir) {
case D_N:
return "North";
case D_E:
return "East";
case D_S:
return "South";
case D_W:
return "West";
case D_UP:
return "up";
case D_DOWN:
return "down";
case D_UNKNOWN:
return "D_UNKNOWN";
case D_NONE:
return "D_NONE";
case DC_N:
return "North";
case DC_NE:
return "Northeast";
case DC_E:
return "East";
case DC_SE:
return "Southeast";
case DC_S:
return "South";
case DC_SW:
return "Southwest";
case DC_W:
return "West";
case DC_NW:
return "Northwest";
- [+] disrupt undead - [+] gust of wind has higher chance of knocking down small creatures - [+] check: ensure vault names have no ' 's - [+] loading bug: celltype id 0 doesn't exist. - [+] loading bug: adding minotair - don't call sethomeroom() - [+] fixed - bones bug: "2 loaves of stale bread" - [+] crash when object thrown away by holy circle dies. - [+] armour with "permenance" cast shouldn't be able to be healed either! - [+] use immutable instead of invulnerable - [+] if you weild your spare weapon (and dont have a spare), remove 'spareweapon' flag! - [+] skoob should be made out of "water", not "ice" (don't want it to have hardness) - [+] change its material - [+] hitting water-based lfs should rust weapon! - [+] rusted weapons should have 10-30% chance of giving tetanus. - [+] low chance of spasm each turn (5%) - [+] "your [xx] spasms/contorts violently!" - [+] hand = drop weapon - [+] leg = fall over - [+] jaw = nothing - [+] back = spine broken, you die - [+] tail = tail broken - [+] chest = rib broken - [+] wings = stop flying - [+] electricity damage confuses robots - [+] poison's power increase chance of its effects happening - [+] whenver tetanus effect fires, increase power. - [+] electric damage spreads through water - [+] create water spell (like grease, but just makes water) - [+] objectgrowth spell shoudl use f_growsto instead of hardcoding - [+] v0 = obid or celltypeid - [+] vt = determines VT_ob or vt_cell - [+] then add shrink spell which uses f_shrinksto - [+] deinfe it - [+] add effects - [+] specail case - brazer -> helmet should be red hot - [+] hecta should mind attacking evil peaceful creatures - [+] ai should still flee with bleeding legs - [+] bandit had 90hp - problem with varlevel!! have changed calculation. - [+] monsters now just get 1 extra hit die per level after the first. - [+] only some branches should use region->depthmod. others only use regiontype->depthmod. - [+] spell: disrupt undead - - [+] announce 'shatter' spell: you hear an ultra=high pitched whining/ringing. - [+] announce'sleep' spell: suddenly, you feel very drowsy. - [+] inducefear: too powerful. tweak skillcheck values. Initial work on baba yaga (sylvan forest boss)
2012-04-02 05:48:13 +10:00
case D_IN:
return "into";
- [+] 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
}
return "?errordir?";
}
char *getdirnameshort(int dir) {
switch (dir) {
case D_N:
return "N";
case D_E:
return "E";
case D_S:
return "S";
case D_W:
return "W";
case D_UP:
return "U";
case D_DOWN:
return "D";
case D_UNKNOWN:
return "?";
case D_NONE:
return "-";
case DC_N:
return "N";
case DC_NE:
return "NE";
case DC_E:
return "E";
case DC_SE:
return "SE";
case DC_S:
return "S";
case DC_SW:
return "SW";
case DC_W:
return "W";
case DC_NW:
return "NW";
}
return "?";
}
void getdisttext(cell_t *src, cell_t *dst,char *distbuf, char *distbufapprox, char *dirbuf) {
int dist;
int dir;
dist = getcelldist(src, dst);
dir = getdirtowards(src, dst, NULL, B_FALSE, DT_ORTH);
if (dirbuf) {
strcpy(dirbuf, getdirname(dir));
dirbuf[0] = tolower(dirbuf[0]);
}
if (dist >= 20) { // 20+
if (distbuf) strcpy(distbuf, " very far away");
if (distbufapprox) strcpy(distbufapprox, " far away");
} else if (dist >= 10) { // 10 - 19
if (distbuf) strcpy(distbuf, " far away");
if (distbufapprox) strcpy(distbufapprox, " far away");
} else if (dist >= 5) { // 5 - 9
if (distbuf) strcpy(distbuf, " nearby");
if (distbufapprox) strcpy(distbufapprox, " nearby");
} else if (dist >= 2) { // 2 - 4
if (distbuf) strcpy(distbuf, " very nearby");
if (distbufapprox) strcpy(distbufapprox, " nearby");
} else { // 1
if (distbuf) strcpy(distbuf, " right beside you");
if (distbufapprox) strcpy(distbufapprox, " nearby");
}
}
// ie. "the apple is xxx"
// ie. "the apples are xxx"
char *getfillingname(int nutrition) {
if (nutrition > 100) {
return "extremely substantial";
} else if (nutrition >= 90) {
return "very filling";
} else if (nutrition >= 70) {
return "ample for a meal";
} else if (nutrition >= 50) {
return "enough for a light meal";
} else if (nutrition >= 25) {
return "snack-sized";
} else if (nutrition > 0) {
return "barely worth eating";
}
// ie. < 0
return "of zero nutritional substance";
}
- [+] replace "fireplace" with "brazier" - [+] make non-lethal kills (ie. knockouts) display in grey rather than green - [+] ability: merciful fighting? always does bashing damage, always ko. - [+] done - [+] Chatting to gods shouldn't work - [+] bug: when running with shift+dir, i'm running past corridors. - [+] when announcing skill gains, say if they are from a level. - [+] set lifetime to FROMJOB when giving them. - [+] if lifetime = FROMJOB, ""you can now use the ability 'xxx' (warrior skill)" - [+] grenade/c4 explosions should be able to damage cells! - [+] change grenades to have bigger radius (dtorth 1) - [+] automatically call "fireat" for grenades - [+] impement this - [+] make the timer shorter! - [+] add extra checks to stop monsters from attacking allies - [+] replace "insane"monster behaviour with F_TERRITORIAL v0=range. - [+] will atatck anything else visible within range xxx - [+] grave sprite should be able to see in the dark - [+] instead of saying "An orc [drunk]", change getlfname to return "a drunken orc" etc - [+] when you throw an object at someone in a wall, it should fall onto the ground in front, NOT the wall itself! - [+] show how MUCH high/low str/agi will affect weapon damage/accuracy - [+] different shoddy/masterwork text based on weapon types - [+] bug: monsters never bleed from injuries! - [+] another bug in getavgdam - negative accuracy returns negative damage since we modify damage by accuracy! - [+] within this function, limit accuracy to range 0-100 - [+] bug with options - opt->id never being initialised! - [+] don't apply "behaviours" to anythuing other than humanoids. - [+] increase missile accuracy if you are above your target - [+] (ie you are flying higher them them) - [+] getflightsizemod()
2012-01-18 07:46:23 +11:00
char *getflagsourcetext(flag_t *f) {
switch (f->lifetime) {
case FROMSKILL: return " (skill perk)";
case FROMJOB: return " (job perk)";
case FROMOBEQUIP:
case FROMOBHOLD:
case FROMOBACTIVATE:
return " (conferred perk)";
case FROMGODGIFT:
return " (god gift)";
default: break;
}
return "";
}
* [+] bug: secret doors revealed when we walk away from them. - [+] make lamps last heaps longer * [+] web spell * [+] spider monstrer * [+] funnelweb: * [+] redback: - [+] if you are wracked with pain, don't clear msg - [+] check rarity for spiders * [+] attack/defense mod if there is stickiness in your square - [+] replace "sticky" with "restrictive" * [+] make some mosnters start hidden - [+] adjust spot checks basd on distance - [+] ensure that attacking stops you hiding - [+] casting spells stops you from being hidden - [+] hidden mosnters shouldn't move unless their victim is ADJACENT. - [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless their victim is ADJACENT. - [-] XP CALC - [+] funnelweb and redback are the same. - [+] check this is right...... i want funnel web to be worse. - [+] make hitconfer check in calcxpval take lifetime into account - [+] ALSO assign an xp rating to each hitconferred flag. - [+] hardcode this. * [+] entangle spell - [+] reveal secret doors if you see them get damaged. * [+] make askcoords list restrivitce objects - [+] ACTUALLY make vines not damaged by struggling * [+] object descriptions, a/an needs to change if showing condition: "a battered entangling vine" - [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't happen! - [+] The human diety reads a blessed scroll of create monster! -- but nothing happens?? * [+] throw code - [+] wizard: ask for school specialty at start, from: fire, ice, xxx ? You get this + WILD. - [+] describe varpower spells - [+] fix mp cost for varpower spells - [+] we're not stopping running at staircases anymore for some reason. - [+] CHARGE ability (like swoop but don't return to original positino) - [+] need to honor f_canlearn when displaying new skills to learn! - [+] ai: if we are going to player's last known loc (via targetcell), abandon if we can SEE the player! - [+] make shatter() into a function - [+] oil potion makes oil puddle whan smashed - [+] make flammable objects be able to convert to others - [+] replace 'magic item usage' with 'channeling' - [+] a cloud of darkness descends. this is a *cursed* wand of light. - [+] spiders shouldn't be able to be stuck in a web! * [+] spells should be able to have MULTIPLE schools. - [+] don't bleed into walls - [+] in @M, use colours to show which spells are too hard so far (ie cost > maxmp) * [+] in @M, use schools that you know * [+] after loading game, barbarian is getting an extra attack? You miss the eyebat. You punch the eyebat. - [+] show objects on top of stairs - [+] stuck mosnters must pass a saving throw to follow you up/down stairs - [+] genericise: trytomove(lf) * [+] add more snakes - [+] undead can't eat or drink? or MOST undead can't. * [+] why can MONSTERS shoot webs through things? (but I can't) - [+] barkskin - doesn't reduce max mp enough? - [+] The skeleton touches a fuming aqua potion [tried] then recoils in pain! The skeleton drops a blessed fuming aqua potion [tried]. The skeleton drinks a fuming aqua potion! - [+] why can't i use abilites anymore? - [+] infinite loop bug due to ai only having one ignorecell. - [+] make sleet storms rust all armour - [+] make a kind of walkdam that hits armour - [+] add this as well as walkdam for: acid, fire, water - [+] Takeoff isn't prompting properly. only showing weapons! * [+] waterproof obs (ie cloak) * [+] walkdambp doesn't hurt body if you have a cloak NATURE SPELLS: - [+] mending, heals 1d6 damage - [+] spark - [+] purify food - [+] sticks to snakes - [+] calm animals (power_d4 hd) * [+] charm animal (works on one animal up to power hit dice, temporary) - [+] airblast - [+] barkskin (power +2 AR, firevuln, ongoing) - [+] soften earth (makes ground into mud) - [+] warp wood (damages wooden objects) - [+] repel insects - [+] reduce poison - [+] web - [+] windshield - [+] call lightning, air - [+] resist elements, ongoing - [+] passwall - [+] poisonbolt - [+] quench (puts out a fire) - [+] sleet storm (lowers movement, vision) - [+] healing - [+] cure poison * [+] calming scent - [+] dig - [+] entangle - [+] levitate - [+] flamepillar - [+] hailstorm. like sleetstorm but hurts more. power d 6. - [+] burning wave - [+] gaseous form * [+] knowledge skills: * [+] force makespellchoicelist() to show spells in level order. * [+] druid - [+] check OBJECT rarity list (dumplev) - [+] fix bug where heaps of books suddently appear from dlev 3 onwards - [+] gain skills on level up for some jobs - [+] f_levspellschool, v0=lev, v1 = school or ANY - select one from that school
2011-04-23 14:27:42 +10:00
int gethitconferlifetime(char *text, int *min, int *max) {
int howlong;
int localmin = -1,localmax = -1;
* [+] bug: secret doors revealed when we walk away from them. - [+] make lamps last heaps longer * [+] web spell * [+] spider monstrer * [+] funnelweb: * [+] redback: - [+] if you are wracked with pain, don't clear msg - [+] check rarity for spiders * [+] attack/defense mod if there is stickiness in your square - [+] replace "sticky" with "restrictive" * [+] make some mosnters start hidden - [+] adjust spot checks basd on distance - [+] ensure that attacking stops you hiding - [+] casting spells stops you from being hidden - [+] hidden mosnters shouldn't move unless their victim is ADJACENT. - [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless their victim is ADJACENT. - [-] XP CALC - [+] funnelweb and redback are the same. - [+] check this is right...... i want funnel web to be worse. - [+] make hitconfer check in calcxpval take lifetime into account - [+] ALSO assign an xp rating to each hitconferred flag. - [+] hardcode this. * [+] entangle spell - [+] reveal secret doors if you see them get damaged. * [+] make askcoords list restrivitce objects - [+] ACTUALLY make vines not damaged by struggling * [+] object descriptions, a/an needs to change if showing condition: "a battered entangling vine" - [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't happen! - [+] The human diety reads a blessed scroll of create monster! -- but nothing happens?? * [+] throw code - [+] wizard: ask for school specialty at start, from: fire, ice, xxx ? You get this + WILD. - [+] describe varpower spells - [+] fix mp cost for varpower spells - [+] we're not stopping running at staircases anymore for some reason. - [+] CHARGE ability (like swoop but don't return to original positino) - [+] need to honor f_canlearn when displaying new skills to learn! - [+] ai: if we are going to player's last known loc (via targetcell), abandon if we can SEE the player! - [+] make shatter() into a function - [+] oil potion makes oil puddle whan smashed - [+] make flammable objects be able to convert to others - [+] replace 'magic item usage' with 'channeling' - [+] a cloud of darkness descends. this is a *cursed* wand of light. - [+] spiders shouldn't be able to be stuck in a web! * [+] spells should be able to have MULTIPLE schools. - [+] don't bleed into walls - [+] in @M, use colours to show which spells are too hard so far (ie cost > maxmp) * [+] in @M, use schools that you know * [+] after loading game, barbarian is getting an extra attack? You miss the eyebat. You punch the eyebat. - [+] show objects on top of stairs - [+] stuck mosnters must pass a saving throw to follow you up/down stairs - [+] genericise: trytomove(lf) * [+] add more snakes - [+] undead can't eat or drink? or MOST undead can't. * [+] why can MONSTERS shoot webs through things? (but I can't) - [+] barkskin - doesn't reduce max mp enough? - [+] The skeleton touches a fuming aqua potion [tried] then recoils in pain! The skeleton drops a blessed fuming aqua potion [tried]. The skeleton drinks a fuming aqua potion! - [+] why can't i use abilites anymore? - [+] infinite loop bug due to ai only having one ignorecell. - [+] make sleet storms rust all armour - [+] make a kind of walkdam that hits armour - [+] add this as well as walkdam for: acid, fire, water - [+] Takeoff isn't prompting properly. only showing weapons! * [+] waterproof obs (ie cloak) * [+] walkdambp doesn't hurt body if you have a cloak NATURE SPELLS: - [+] mending, heals 1d6 damage - [+] spark - [+] purify food - [+] sticks to snakes - [+] calm animals (power_d4 hd) * [+] charm animal (works on one animal up to power hit dice, temporary) - [+] airblast - [+] barkskin (power +2 AR, firevuln, ongoing) - [+] soften earth (makes ground into mud) - [+] warp wood (damages wooden objects) - [+] repel insects - [+] reduce poison - [+] web - [+] windshield - [+] call lightning, air - [+] resist elements, ongoing - [+] passwall - [+] poisonbolt - [+] quench (puts out a fire) - [+] sleet storm (lowers movement, vision) - [+] healing - [+] cure poison * [+] calming scent - [+] dig - [+] entangle - [+] levitate - [+] flamepillar - [+] hailstorm. like sleetstorm but hurts more. power d 6. - [+] burning wave - [+] gaseous form * [+] knowledge skills: * [+] force makespellchoicelist() to show spells in level order. * [+] druid - [+] check OBJECT rarity list (dumplev) - [+] fix bug where heaps of books suddently appear from dlev 3 onwards - [+] gain skills on level up for some jobs - [+] f_levspellschool, v0=lev, v1 = school or ANY - select one from that school
2011-04-23 14:27:42 +10:00
if (text) {
char loctext[BUFLEN];
char *word, *dummy;
strcpy(loctext,text);
word = strtok_r(loctext, "-", &dummy);
if (word) {
localmin = atoi(word);
word = strtok_r(NULL, "-", &dummy);
if (word) {
localmax = atoi(word);
howlong = rnd(localmin,localmax);
} else {
howlong = PERMENANT;
}
} else {
localmin = -1;
localmax = -1;
howlong = PERMENANT;
}
} else {
localmin = -1;
localmax = -1;
howlong = PERMENANT;
}
if (min) *min = localmin;
if (max) *max = localmax;
return howlong;
}
char *getkillverb(lifeform_t *victim, object_t *wep, enum DAMTYPE damtype, int dam, int maxhp) {
float pct;
pct = (int)(((float) dam / (float) maxhp) * 100.0);
* [+] 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 (!isunconscious(victim)) {
if (wep && hasflag(wep->flags, F_MERCIFUL)) {
return "knock out";
}
if (wep && wep->pile->owner && lfhasflag(wep->pile->owner, F_STRIKETOKO)) {
return "knock out";
}
- [+] replace "fireplace" with "brazier" - [+] make non-lethal kills (ie. knockouts) display in grey rather than green - [+] ability: merciful fighting? always does bashing damage, always ko. - [+] done - [+] Chatting to gods shouldn't work - [+] bug: when running with shift+dir, i'm running past corridors. - [+] when announcing skill gains, say if they are from a level. - [+] set lifetime to FROMJOB when giving them. - [+] if lifetime = FROMJOB, ""you can now use the ability 'xxx' (warrior skill)" - [+] grenade/c4 explosions should be able to damage cells! - [+] change grenades to have bigger radius (dtorth 1) - [+] automatically call "fireat" for grenades - [+] impement this - [+] make the timer shorter! - [+] add extra checks to stop monsters from attacking allies - [+] replace "insane"monster behaviour with F_TERRITORIAL v0=range. - [+] will atatck anything else visible within range xxx - [+] grave sprite should be able to see in the dark - [+] instead of saying "An orc [drunk]", change getlfname to return "a drunken orc" etc - [+] when you throw an object at someone in a wall, it should fall onto the ground in front, NOT the wall itself! - [+] show how MUCH high/low str/agi will affect weapon damage/accuracy - [+] different shoddy/masterwork text based on weapon types - [+] bug: monsters never bleed from injuries! - [+] another bug in getavgdam - negative accuracy returns negative damage since we modify damage by accuracy! - [+] within this function, limit accuracy to range 0-100 - [+] bug with options - opt->id never being initialised! - [+] don't apply "behaviours" to anythuing other than humanoids. - [+] increase missile accuracy if you are above your target - [+] (ie you are flying higher them them) - [+] getflightsizemod()
2012-01-18 07:46:23 +11:00
}
if (victim->race->id == R_DANCINGWEAPON) {
return "defeat";
}
if (getraceclass(victim) == RC_PLANT) {
return "destroy";
}
if (wep) {
flag_t *f;
int i;
flag_t *retflag[MAXCANDIDATES];
int nretflags = 0;
getflags(wep->flags, retflag, &nretflags, F_KILLVERB, F_NONE);
for (i = 0; i < nretflags; i++) {
f = retflag[i];
if (f->id == F_KILLVERB) {
if ((f->val[0] == NA) && (f->val[1] == NA)) {
return f->text;
} else if (f->val[0]) {
if (pct >= f->val[0]) {
if (f->val[1] == NA) {
return f->text;
} else if (pct <= f->val[1]) {
return f->text;
}
}
} else if (f->val[1]) {
if (pct <= f->val[1]) {
return f->text;
}
}
}
}
}
if ((damtype == DT_BASH) && ismadeofice(victim)) {
return "shatter";
}
if (damtype == DT_CRUSH) {
return "crush";
}
if (damtype == DT_HOLY) {
return "smite";
}
- [+] 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
if (getraceclass(victim) == RC_UNDEAD) {
// can't "kill" the undead
return "destroy";
}
// was 80
if (pct >= 100) {
if (damtype == DT_PIERCE) return "impale";
if (damtype == DT_BASH) {
if (isunconscious(victim)) {
return "kill";
} else {
return "flatten";
}
}
if (damtype == DT_BITE) return "gore";
if (damtype == DT_SLASH) {
- [+] 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
skill_t *sk;
int canbehead = B_TRUE;
- [+] 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
if (wep) {
sk = getobskill(wep->flags);
- [+] 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 (sk && (sk->id != SK_LONGBLADES) && (sk->id != SK_EXOTICWEPS)) {
// only long blades can behead/bisect.
- [+] 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
canbehead = B_FALSE;
}
}
// can't behead multiheaded things at the moment...
if (victim && hasbp(victim, BP_HEAD) && hasbp(victim, BP_HEAD2)) {
canbehead = B_FALSE;
}
- [+] 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
if (canbehead) {
if (victim && (victim->race->id == R_EARTHWYRM)) {
return "bisect";
} else if (!hasbp(victim, BP_HEAD)) {
return "bisect";
- [+] 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
} else {
if ((getlfsize(victim) >= SZ_MEDIUM) && onein(3)) {
return "behead";
} else {
return "bisect";
}
}
}
}
}
// never use 'kill' for bashing since you might just knock them out
if (damtype == DT_BASH) {
return "clobber";
}
return "kill";
}
2011-02-01 06:16:13 +11:00
char *getpossessive(char *text) {
char lastchar;
// you -> your
* [+] 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 (!strcasecmp(text, "you")) {
2011-02-01 06:16:13 +11:00
return "r";
}
// xxxs -> xxxs'
lastchar = text[strlen(text)-1];
if (tolower(lastchar) == 's') {
return "'";
}
// default: 's
return "'s";
}
- [+] young hawk moving very slowly? was healing. - [+] make monsters heal faster when resting - [+] make pet rest when you do - [+] allow 'R' to heal allies - [+] F_RESTUNTILALLIES - [+] mindless/animal mosnters won't throw things - [+] announceflag for attrset not working * [+] feeblemind spell - reduces intelligence to ANIMAL. - [+] ai: if we are carrying too much, drop something (non-weapons/armour first) - [+] teleport spell should teleport any adjacent allies too. * [+] new 'C'hat commands: * [+] change 'resist elements' potion to 'rum' * [+] notify when pet is low on hp - [+] why could a pirate use a biuckler? * [+] genericise usage of canhaveobmod! - [+] armour mod: blooodstained. adds scary. - [+] CRASH when you have two weapons and catch a glowbug in your flask. * [+] potion of restoration onto frozen axe: - [+] slow spell repeated message: The brown snake looks sluggish. The brown snake is now moving slower. - [+] make you only hear one thing each turn ? - [+] always draw impassable objects on top - [+] special ash - [+] exploding powder - explode in radius 1 around player (including player) - [+] concealing powder - create smoke cloud radius 3 around player - [+] redo levelup logic. - [+] trigger LevUp when you have 'newskillready' - [+] announce when you gain level. - [+] can't gain more experience when LevUp! - [+] only update maxhp/mp from new level after you train - [+] diety can't use abilities. fixed. * [+] when i exit from@S output, statbar isn't redrawn * [+] make SKILLS page show which skills you can learn. - [+] In @s, downline isn't showing the title on the second page of SKILLS... - [+] show POWER in @M spells page - [+] ###--- - [+] show cost RANGE in @M for varpower ones - [+] need getspellcosttext(spellid, power, buf) function - [+] 25-62MP - [+] leftover rubbish chars at end of ---- in doheading() - [+] mosnters should follow you up/down stairs * [+] different poison types - [+] implement tremorsense (like darkvision butrun can't be blinded etc) * [+] implement HIDE ability * [+] Thief job - [+] if you walk into a room and every cell is lit, reveal it all. - [+] auto-learn jump ability with high athletics skill * [+] secret doors - [+] items to spot secret doors - [+] gem of seeing - [+] ENHANCESEARCH - [+] F_SEEINVIS - [+] spell: "reveal hidden" - [+] shows secret doors - [+] removes invisibility - [+] wand of detect hidden - [+] ... casts the spell
2011-04-14 09:44:29 +10:00
char *getdrunktext(flag_t *drunkflag) {
int bracket;
bracket = (drunkflag->lifetime / TM_DRUNKTIME) + 1;
- [+] young hawk moving very slowly? was healing. - [+] make monsters heal faster when resting - [+] make pet rest when you do - [+] allow 'R' to heal allies - [+] F_RESTUNTILALLIES - [+] mindless/animal mosnters won't throw things - [+] announceflag for attrset not working * [+] feeblemind spell - reduces intelligence to ANIMAL. - [+] ai: if we are carrying too much, drop something (non-weapons/armour first) - [+] teleport spell should teleport any adjacent allies too. * [+] new 'C'hat commands: * [+] change 'resist elements' potion to 'rum' * [+] notify when pet is low on hp - [+] why could a pirate use a biuckler? * [+] genericise usage of canhaveobmod! - [+] armour mod: blooodstained. adds scary. - [+] CRASH when you have two weapons and catch a glowbug in your flask. * [+] potion of restoration onto frozen axe: - [+] slow spell repeated message: The brown snake looks sluggish. The brown snake is now moving slower. - [+] make you only hear one thing each turn ? - [+] always draw impassable objects on top - [+] special ash - [+] exploding powder - explode in radius 1 around player (including player) - [+] concealing powder - create smoke cloud radius 3 around player - [+] redo levelup logic. - [+] trigger LevUp when you have 'newskillready' - [+] announce when you gain level. - [+] can't gain more experience when LevUp! - [+] only update maxhp/mp from new level after you train - [+] diety can't use abilities. fixed. * [+] when i exit from@S output, statbar isn't redrawn * [+] make SKILLS page show which skills you can learn. - [+] In @s, downline isn't showing the title on the second page of SKILLS... - [+] show POWER in @M spells page - [+] ###--- - [+] show cost RANGE in @M for varpower ones - [+] need getspellcosttext(spellid, power, buf) function - [+] 25-62MP - [+] leftover rubbish chars at end of ---- in doheading() - [+] mosnters should follow you up/down stairs * [+] different poison types - [+] implement tremorsense (like darkvision butrun can't be blinded etc) * [+] implement HIDE ability * [+] Thief job - [+] if you walk into a room and every cell is lit, reveal it all. - [+] auto-learn jump ability with high athletics skill * [+] secret doors - [+] items to spot secret doors - [+] gem of seeing - [+] ENHANCESEARCH - [+] F_SEEINVIS - [+] spell: "reveal hidden" - [+] shows secret doors - [+] removes invisibility - [+] wand of detect hidden - [+] ... casts the spell
2011-04-14 09:44:29 +10:00
if (bracket == 1) {
return "tipsy";
} else if (bracket == 2) {
return "drunk";
} else {
return "very drunk";
}
return "??drunk??";
}
char *getinjuredbpname(enum BODYPART bp) {
switch (bp) {
case BP_HEAD: return "head";
case BP_HANDS: return "arm";
case BP_LEGS: return "leg";
default: break;
}
return "body";
}
char *getinjuryname(enum DAMTYPE dt) {
switch (dt) {
case DT_BASH: return "bruised";
case DT_SLASH: return "bleeding";
default: break;
}
return "injured";
}
char *getinjurydesc(enum BODYPART where, enum DAMTYPE dt) {
if (dt == DT_SLASH) {
if (where == BP_LEGS) {
return " (moving causes damage)";
} else if (where == BP_HANDS) {
return " (attacking causes damage)";
} else if (where == BP_BODY) {
return " (take extra damage from melee hits)";
}
} else if (dt == DT_BASH) {
if (where == BP_LEGS) {
return " (penalty to movement speed)";
} else if (where == BP_HANDS) {
return " (penalty to attack accuracy)";
}
}
return "";
}
- [+] 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
// IMPORTANT:
// all strings returned here must also be defined as an obmod altprefix!
//
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
char *getobmodprefix(object_t *o, obmod_t *om) {
// masterwork/shoddy doors have names based on material.
if (isdoor(o, NULL)) {
// player perceptive enough to notice?
if (om->id == OM_MASTERWORK) {
if ((gamemode == GM_GAMESTARTED) && (getskill(player, SK_PERCEPTION) < PR_BEGINNER)) {
return NULL;
}
switch (o->material->id) {
case MT_STONE: return "reinforced ";
case MT_METAL: return "reinforced ";
default: return "sturdy ";
}
} else if (om->id == OM_SHODDY) {
if ((gamemode == GM_GAMESTARTED) && (getskill(player, SK_PERCEPTION) < PR_BEGINNER)) {
return NULL;
}
switch (o->material->id) {
case MT_STONE: return "crumbling ";
case MT_METAL: return "rusted ";
default: return "rotted ";
}
}
- [+] replace "fireplace" with "brazier" - [+] make non-lethal kills (ie. knockouts) display in grey rather than green - [+] ability: merciful fighting? always does bashing damage, always ko. - [+] done - [+] Chatting to gods shouldn't work - [+] bug: when running with shift+dir, i'm running past corridors. - [+] when announcing skill gains, say if they are from a level. - [+] set lifetime to FROMJOB when giving them. - [+] if lifetime = FROMJOB, ""you can now use the ability 'xxx' (warrior skill)" - [+] grenade/c4 explosions should be able to damage cells! - [+] change grenades to have bigger radius (dtorth 1) - [+] automatically call "fireat" for grenades - [+] impement this - [+] make the timer shorter! - [+] add extra checks to stop monsters from attacking allies - [+] replace "insane"monster behaviour with F_TERRITORIAL v0=range. - [+] will atatck anything else visible within range xxx - [+] grave sprite should be able to see in the dark - [+] instead of saying "An orc [drunk]", change getlfname to return "a drunken orc" etc - [+] when you throw an object at someone in a wall, it should fall onto the ground in front, NOT the wall itself! - [+] show how MUCH high/low str/agi will affect weapon damage/accuracy - [+] different shoddy/masterwork text based on weapon types - [+] bug: monsters never bleed from injuries! - [+] another bug in getavgdam - negative accuracy returns negative damage since we modify damage by accuracy! - [+] within this function, limit accuracy to range 0-100 - [+] bug with options - opt->id never being initialised! - [+] don't apply "behaviours" to anythuing other than humanoids. - [+] increase missile accuracy if you are above your target - [+] (ie you are flying higher them them) - [+] getflightsizemod()
2012-01-18 07:46:23 +11:00
} else if (isweapon(o)) {
skill_t *sk;
- [+] 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
sk = getobskill(o->flags);
- [+] replace "fireplace" with "brazier" - [+] make non-lethal kills (ie. knockouts) display in grey rather than green - [+] ability: merciful fighting? always does bashing damage, always ko. - [+] done - [+] Chatting to gods shouldn't work - [+] bug: when running with shift+dir, i'm running past corridors. - [+] when announcing skill gains, say if they are from a level. - [+] set lifetime to FROMJOB when giving them. - [+] if lifetime = FROMJOB, ""you can now use the ability 'xxx' (warrior skill)" - [+] grenade/c4 explosions should be able to damage cells! - [+] change grenades to have bigger radius (dtorth 1) - [+] automatically call "fireat" for grenades - [+] impement this - [+] make the timer shorter! - [+] add extra checks to stop monsters from attacking allies - [+] replace "insane"monster behaviour with F_TERRITORIAL v0=range. - [+] will atatck anything else visible within range xxx - [+] grave sprite should be able to see in the dark - [+] instead of saying "An orc [drunk]", change getlfname to return "a drunken orc" etc - [+] when you throw an object at someone in a wall, it should fall onto the ground in front, NOT the wall itself! - [+] show how MUCH high/low str/agi will affect weapon damage/accuracy - [+] different shoddy/masterwork text based on weapon types - [+] bug: monsters never bleed from injuries! - [+] another bug in getavgdam - negative accuracy returns negative damage since we modify damage by accuracy! - [+] within this function, limit accuracy to range 0-100 - [+] bug with options - opt->id never being initialised! - [+] don't apply "behaviours" to anythuing other than humanoids. - [+] increase missile accuracy if you are above your target - [+] (ie you are flying higher them them) - [+] getflightsizemod()
2012-01-18 07:46:23 +11:00
if (sk) {
- [+] 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
if (!player || (getskill(player, sk->id) >= PR_BEGINNER) || (getskill(player, SK_PERCEPTION) >= PR_BEGINNER)) {
if (om->id == OM_MASTERWORK) {
switch (sk->id) {
case SK_CLUBS:
case SK_STAVES:
return "reinforced ";
default: break;
}
} else if (om->id == OM_SHODDY) {
switch (sk->id) {
case SK_LONGBLADES:
case SK_SHORTBLADES:
case SK_AXES:
return "blunted ";
case SK_CLUBS:
return "cracked ";
case SK_POLEARMS:
return "notched ";
case SK_STAVES:
return "blunted ";
default: break;
}
- [+] replace "fireplace" with "brazier" - [+] make non-lethal kills (ie. knockouts) display in grey rather than green - [+] ability: merciful fighting? always does bashing damage, always ko. - [+] done - [+] Chatting to gods shouldn't work - [+] bug: when running with shift+dir, i'm running past corridors. - [+] when announcing skill gains, say if they are from a level. - [+] set lifetime to FROMJOB when giving them. - [+] if lifetime = FROMJOB, ""you can now use the ability 'xxx' (warrior skill)" - [+] grenade/c4 explosions should be able to damage cells! - [+] change grenades to have bigger radius (dtorth 1) - [+] automatically call "fireat" for grenades - [+] impement this - [+] make the timer shorter! - [+] add extra checks to stop monsters from attacking allies - [+] replace "insane"monster behaviour with F_TERRITORIAL v0=range. - [+] will atatck anything else visible within range xxx - [+] grave sprite should be able to see in the dark - [+] instead of saying "An orc [drunk]", change getlfname to return "a drunken orc" etc - [+] when you throw an object at someone in a wall, it should fall onto the ground in front, NOT the wall itself! - [+] show how MUCH high/low str/agi will affect weapon damage/accuracy - [+] different shoddy/masterwork text based on weapon types - [+] bug: monsters never bleed from injuries! - [+] another bug in getavgdam - negative accuracy returns negative damage since we modify damage by accuracy! - [+] within this function, limit accuracy to range 0-100 - [+] bug with options - opt->id never being initialised! - [+] don't apply "behaviours" to anythuing other than humanoids. - [+] increase missile accuracy if you are above your target - [+] (ie you are flying higher them them) - [+] getflightsizemod()
2012-01-18 07:46:23 +11:00
}
}
}
} else if (isshield(o)) {
if (om->id == OM_MASTERWORK) {
switch (o->material->id) {
case MT_LEATHER:
return "studded ";
case MT_METAL:
case MT_WOOD:
case MT_DRAGONWOOD:
return "reinforced ";
default: break;
}
} else if (om->id == OM_SHODDY) {
switch (o->material->id) {
case MT_LEATHER:
case MT_RUBBER:
case MT_PAPER:
return "torn ";
case MT_CLOTH:
case MT_SILK:
return "frayed ";
case MT_GLASS:
case MT_STONE:
case MT_BONE:
return "chipped ";
case MT_METAL:
return "dented ";
case MT_WOOD:
case MT_DRAGONWOOD:
return "splintered ";
default: break;
}
}
} else if (isarmour(o)) {
if (om->id == OM_MASTERWORK) {
switch (o->material->id) {
case MT_LEATHER:
return "studded ";
case MT_CLOTH:
case MT_SILK:
return "tailored ";
default: break;
}
} else if (om->id == OM_SHODDY) {
switch (o->material->id) {
case MT_LEATHER:
case MT_RUBBER:
case MT_PAPER:
return "torn ";
case MT_CLOTH:
case MT_SILK:
return "frayed ";
case MT_GLASS:
case MT_STONE:
case MT_BONE:
return "chipped ";
case MT_METAL:
return "dented ";
case MT_WOOD:
case MT_DRAGONWOOD:
return "splintered ";
default: break;
}
}
- [+] BUG: trying to go down stairs from L7 (6?) - [+] You walk down the staircase... ERROR - can't find opposite end of stairs/portal! - [+] You walk down the staircase... ERROR - unlinked stairs! - [+] This is related to the fact that all the staircases came from Jimbo's vault - [+] For some reason we're not linking them when they come for ma vault!!! - [+] "joining unliked stairs" section not working??? - [+] it calls getstairdestination, but this DOESNT call linkstairs! - [+] maby: call autolink everytime i add stairs ? or only do this during createvault ? - [+] automatically remove useless doors (ie. ones where all adjacent walkable cells are in the same room) - [+] in fix_reachability i'm drawing a corridor through vault/room walls. <- probably this one. - [+] don't allow auto reachability to enter rooms through the wrong side wall. - [+] TEST during regular playtests, see if maps look better. - [+] quality on doors. - [+] sturdy / plain / shoddy doors. this impacts the hp - [+] stone doors (solid / plain /crumbling) - [+] metal ( reinforced / plain / rusty) - [+] only show this if perception >= beginner - [+] dungeon shapes - [+] new cell attribute - locked. - [+] calcroompos can't make rooms on locked cells. - [+] normal - [+] cross - [+] circle - [+] turret - [+] - premask out blocked cells before generation! - [+] minion code - if leader dies, - [+] minions drop morale - [+] and might either immediately flee - [+] need lastdamlf - [+] if wisdom >= gtaverage, automatically turn off lamps when you go to sleep - [+] "scratch"/"gnaw" etc should be based on actual damage hp amount, not percentage. - [+] change getattackverb() - [+] 1-2 - [+] 3-6 - [+] 8-12 - [+] 12-18 - [+] 18+ - [+] shop objects should start with all flags known. - [+] allow usage of godstones without id'ing them first. this will id them. - [+] weapon/armour shop should resize armour for you for a cost. - [+] chanelling bonus - [+] novice - [+] tell you when wand is low on charges (0-3) - [+] beginner - [+] let you determine exact remaining charges in wands once it is == 1! - [+] adept - [+] let you determine exact remaining charges in wands once it is <= 3! - [+] skilled: - [+] let you determine exact remaining charges in wands once it is <= 6! - [+] master - [+] lets you always see full amount of want charges. - [+] lets you convert your mp into wand charges? "imbue item"
2012-01-09 15:02:26 +11:00
}
return om->prefix;
}
VAULTS * [+] vaiultlegend_t * [+] vaultdef_t - [+] implement addlegend() - [+] implement addvault() - [+] function to read in a vault from a data file - [+] vs_noid - [+] vs_loadingmap - [+] vs_loadinglegend - [+] vs_loadingflags - [+] vs_loading - [+] load all vaultdefs in at start - [+] change createroom to calculate the posistion - [+] for each room, give a %chance of haivng a vault. (based on habitat?) * [+] createvault(map_t, roomid?, char *vaultid) - [+] mapdata with letters * [+] MSG up vault errors on load. - [+] Select job _before_ generating first map. * [+] make addob() handle door flags: * [+] addob() improvements * [+] wish bug: first object goes in pack, rest on ground. - [+] genericise getroomedge() - [+] finish 'autodoors' (at the end, add doors if none already done) - [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x, v1=y, v2=pct text=what * [+] "what" can be: * [+] scatter:y1:x2:y2:what:chance%:howmany * [+] some way to make the @map bit just say 'random room at least 2x4' - [+] make "scatter" able to take range instead of count. - [+] make "scatter"able to take x% instead of count. - [+] upsidedown chars no longer working with winch() - [+] ensure no DUPE ids - [+] make legend take percentages (optional) - [+] make "at" take negative values... OPTIONS - [+] autodoors - put doors on edges like with normal dungeon rooms. * [+] autopop - fill with obs/monsters like normal rooms VAULT FILES - [+] flooded room - [+] labyrinth - [+] vault (lots of money, locked secret doors) - [+] monster zoos (money and monsters) - [+] diningroom - lots of tables and chairs - [+] circleroom - [+] pillared room - [+] glass pillared room - [+] cockatrice lair (statues) - [+] traproom - need "random trap". need OC_TRAP. - [+] BUG: piranhas walking out of water sometimes....... - [+] add startatt x-y rather than just a bracket. use text field. - [+] make teleport auto move away form lfs - [+] add minotaur
2011-06-02 18:34:44 +10:00
char *getrarityname(enum RARITY rr) {
switch (rr) {
case RR_UNIQUE: return "Unique";
case RR_NEVER: return "Never";
case RR_VERYRARE: return "Very Rare";
case RR_RARE: return "Rare";
case RR_UNCOMMON: return "Uncommon";
case RR_COMMON: return "Common";
case RR_FREQUENT: return "Frequent";
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
case RR_NONE: return "None";
}
return "?unknownrarity?";
}
- [+] 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
// pass in EITHER m or r, not both.
//
// if how is anything other than RF_SHORT, "m" should be passed.
char *getregionname(char *buf, map_t *m, region_t *r, enum REGIONNAMEFORMAT how) {
int x = NA,y = NA;
- [+] 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
if (!r) {
r = m->region;
}
- [+] 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
if (m) {
- [+] 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
flag_t *f;
f = hasflag(m->flags, F_MAPCOORDS);
if (f) {
x = f->val[0];
y = f->val[1];
}
}
if ((how == RF_WITHLEVEL) && m) {
- [+] 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
switch (r->rtype->id) {
case BH_CAVE:
- [+] 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
snprintf(buf, BUFLEN, "goblin caves L%d", m->depth);
break;
case BH_WOODS:
snprintf(buf, BUFLEN, "sylvan woods L%d", m->depth);
break;
case BH_WORLDMAP:
- [+] 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
snprintf(buf, BUFLEN, "the surface(%d,%d)",x,y);
break;
case BH_MAINDUNGEON:
- [+] 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
snprintf(buf, BUFLEN, "dungeon L%d", m->depth);
break;
case BH_MASTERVAULTS:
- [+] "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
if (m->depth == 1) {
snprintf(buf, BUFLEN, "outer vault");
} if (m->depth == 2) {
snprintf(buf, BUFLEN, "inner vault");
} else {
snprintf(buf, BUFLEN, "master vault");
}
break;
case BH_HEAVEN:
- [+] 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
snprintf(buf, BUFLEN, "the realm of gods");
break;
case BH_PIT:
- [+] 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
snprintf(buf, BUFLEN, "a pit L%d", m->depth);
break;
case BH_SEWER:
- [+] 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
snprintf(buf, BUFLEN, "a sewer L%d", m->depth);
break;
case BH_STOMACH:
- [+] 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
snprintf(buf, BUFLEN, "a stomach");
break;
case BH_BABAYAGAHUT:
- [+] disrupt undead - [+] gust of wind has higher chance of knocking down small creatures - [+] check: ensure vault names have no ' 's - [+] loading bug: celltype id 0 doesn't exist. - [+] loading bug: adding minotair - don't call sethomeroom() - [+] fixed - bones bug: "2 loaves of stale bread" - [+] crash when object thrown away by holy circle dies. - [+] armour with "permenance" cast shouldn't be able to be healed either! - [+] use immutable instead of invulnerable - [+] if you weild your spare weapon (and dont have a spare), remove 'spareweapon' flag! - [+] skoob should be made out of "water", not "ice" (don't want it to have hardness) - [+] change its material - [+] hitting water-based lfs should rust weapon! - [+] rusted weapons should have 10-30% chance of giving tetanus. - [+] low chance of spasm each turn (5%) - [+] "your [xx] spasms/contorts violently!" - [+] hand = drop weapon - [+] leg = fall over - [+] jaw = nothing - [+] back = spine broken, you die - [+] tail = tail broken - [+] chest = rib broken - [+] wings = stop flying - [+] electricity damage confuses robots - [+] poison's power increase chance of its effects happening - [+] whenver tetanus effect fires, increase power. - [+] electric damage spreads through water - [+] create water spell (like grease, but just makes water) - [+] objectgrowth spell shoudl use f_growsto instead of hardcoding - [+] v0 = obid or celltypeid - [+] vt = determines VT_ob or vt_cell - [+] then add shrink spell which uses f_shrinksto - [+] deinfe it - [+] add effects - [+] specail case - brazer -> helmet should be red hot - [+] hecta should mind attacking evil peaceful creatures - [+] ai should still flee with bleeding legs - [+] bandit had 90hp - problem with varlevel!! have changed calculation. - [+] monsters now just get 1 extra hit die per level after the first. - [+] only some branches should use region->depthmod. others only use regiontype->depthmod. - [+] spell: disrupt undead - - [+] announce 'shatter' spell: you hear an ultra=high pitched whining/ringing. - [+] announce'sleep' spell: suddenly, you feel very drowsy. - [+] inducefear: too powerful. tweak skillcheck values. Initial work on baba yaga (sylvan forest boss)
2012-04-02 05:48:13 +10:00
snprintf(buf, BUFLEN, "baba yaga's hut");
break;
- [+] 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
}
} else if ((how == RF_LONG) && m) {
switch (r->rtype->id) {
case BH_CAVE:
snprintf(buf, BUFLEN, "on level %d of the goblin caves", m->depth);
break;
case BH_WOODS:
snprintf(buf, BUFLEN, "on level %d of the sylvan woods", m->depth);
break;
case BH_WORLDMAP:
snprintf(buf, BUFLEN, "on the surface(%d,%d)",x,y);
break;
case BH_MAINDUNGEON:
snprintf(buf, BUFLEN, "on level %d of the dungeon", m->depth);
break;
case BH_MASTERVAULTS:
- [+] "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
if (m->depth == 1) {
snprintf(buf, BUFLEN, "in the outer vault");
} if (m->depth == 2) {
snprintf(buf, BUFLEN, "in the inner vault");
} else {
snprintf(buf, BUFLEN, "in the master vault");
}
break;
case BH_HEAVEN:
snprintf(buf, BUFLEN, "in the realm of gods");
break;
case BH_PIT:
snprintf(buf, BUFLEN, "in a pit");
break;
case BH_SEWER:
snprintf(buf, BUFLEN, "in a sewer");
break;
case BH_STOMACH:
snprintf(buf, BUFLEN, "inside a worm's stomach"); // TODO: " in a stomach of of xxx"
break;
case BH_BABAYAGAHUT:
- [+] disrupt undead - [+] gust of wind has higher chance of knocking down small creatures - [+] check: ensure vault names have no ' 's - [+] loading bug: celltype id 0 doesn't exist. - [+] loading bug: adding minotair - don't call sethomeroom() - [+] fixed - bones bug: "2 loaves of stale bread" - [+] crash when object thrown away by holy circle dies. - [+] armour with "permenance" cast shouldn't be able to be healed either! - [+] use immutable instead of invulnerable - [+] if you weild your spare weapon (and dont have a spare), remove 'spareweapon' flag! - [+] skoob should be made out of "water", not "ice" (don't want it to have hardness) - [+] change its material - [+] hitting water-based lfs should rust weapon! - [+] rusted weapons should have 10-30% chance of giving tetanus. - [+] low chance of spasm each turn (5%) - [+] "your [xx] spasms/contorts violently!" - [+] hand = drop weapon - [+] leg = fall over - [+] jaw = nothing - [+] back = spine broken, you die - [+] tail = tail broken - [+] chest = rib broken - [+] wings = stop flying - [+] electricity damage confuses robots - [+] poison's power increase chance of its effects happening - [+] whenver tetanus effect fires, increase power. - [+] electric damage spreads through water - [+] create water spell (like grease, but just makes water) - [+] objectgrowth spell shoudl use f_growsto instead of hardcoding - [+] v0 = obid or celltypeid - [+] vt = determines VT_ob or vt_cell - [+] then add shrink spell which uses f_shrinksto - [+] deinfe it - [+] add effects - [+] specail case - brazer -> helmet should be red hot - [+] hecta should mind attacking evil peaceful creatures - [+] ai should still flee with bleeding legs - [+] bandit had 90hp - problem with varlevel!! have changed calculation. - [+] monsters now just get 1 extra hit die per level after the first. - [+] only some branches should use region->depthmod. others only use regiontype->depthmod. - [+] spell: disrupt undead - - [+] announce 'shatter' spell: you hear an ultra=high pitched whining/ringing. - [+] announce'sleep' spell: suddenly, you feel very drowsy. - [+] inducefear: too powerful. tweak skillcheck values. Initial work on baba yaga (sylvan forest boss)
2012-04-02 05:48:13 +10:00
snprintf(buf, BUFLEN, "in baba yaga's hut");
break;
}
} else { // ie. RF_SHORT
- [+] 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
switch (r->rtype->id) {
case BH_CAVE:
- [+] 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
strcpy(buf, "the goblin caves");
break;
case BH_WOODS:
strcpy(buf, "the sylvan woods");
break;
case BH_WORLDMAP:
- [+] 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
strcpy(buf, "the surface");
break;
case BH_MAINDUNGEON:
- [+] 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
strcpy(buf, "the dungeon");
break;
case BH_MASTERVAULTS:
- [+] "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
snprintf(buf, BUFLEN, "the master vaults");
break;
case BH_HEAVEN:
- [+] 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
snprintf(buf, BUFLEN, "the realm of gods");
break;
case BH_PIT:
- [+] 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
snprintf(buf, BUFLEN, "a pit");
break;
case BH_SEWER:
- [+] 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
snprintf(buf, BUFLEN, "a sewer");
break;
case BH_STOMACH:
- [+] 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
snprintf(buf, BUFLEN, "a stomach");
break;
case BH_BABAYAGAHUT:
- [+] disrupt undead - [+] gust of wind has higher chance of knocking down small creatures - [+] check: ensure vault names have no ' 's - [+] loading bug: celltype id 0 doesn't exist. - [+] loading bug: adding minotair - don't call sethomeroom() - [+] fixed - bones bug: "2 loaves of stale bread" - [+] crash when object thrown away by holy circle dies. - [+] armour with "permenance" cast shouldn't be able to be healed either! - [+] use immutable instead of invulnerable - [+] if you weild your spare weapon (and dont have a spare), remove 'spareweapon' flag! - [+] skoob should be made out of "water", not "ice" (don't want it to have hardness) - [+] change its material - [+] hitting water-based lfs should rust weapon! - [+] rusted weapons should have 10-30% chance of giving tetanus. - [+] low chance of spasm each turn (5%) - [+] "your [xx] spasms/contorts violently!" - [+] hand = drop weapon - [+] leg = fall over - [+] jaw = nothing - [+] back = spine broken, you die - [+] tail = tail broken - [+] chest = rib broken - [+] wings = stop flying - [+] electricity damage confuses robots - [+] poison's power increase chance of its effects happening - [+] whenver tetanus effect fires, increase power. - [+] electric damage spreads through water - [+] create water spell (like grease, but just makes water) - [+] objectgrowth spell shoudl use f_growsto instead of hardcoding - [+] v0 = obid or celltypeid - [+] vt = determines VT_ob or vt_cell - [+] then add shrink spell which uses f_shrinksto - [+] deinfe it - [+] add effects - [+] specail case - brazer -> helmet should be red hot - [+] hecta should mind attacking evil peaceful creatures - [+] ai should still flee with bleeding legs - [+] bandit had 90hp - problem with varlevel!! have changed calculation. - [+] monsters now just get 1 extra hit die per level after the first. - [+] only some branches should use region->depthmod. others only use regiontype->depthmod. - [+] spell: disrupt undead - - [+] announce 'shatter' spell: you hear an ultra=high pitched whining/ringing. - [+] announce'sleep' spell: suddenly, you feel very drowsy. - [+] inducefear: too powerful. tweak skillcheck values. Initial work on baba yaga (sylvan forest boss)
2012-04-02 05:48:13 +10:00
snprintf(buf, BUFLEN, "baba yaga's hut");
break;
- [+] 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
}
}
return buf;
}
- [+] 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 *getreldirname(int reldir) {
switch (reldir) {
case RD_FORWARDS:
return "forwards";
case RD_BACKWARDS:
return "backwards";
case RD_SIDEWAYS:
return "sideways";
default: break;
}
return "away";
}
2011-02-01 06:16:13 +11:00
char *getsizetext(enum LFSIZE sz) {
switch (sz) {
- [+] 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
case SZ_MAX:
2011-02-01 06:16:13 +11:00
case SZ_ENORMOUS:
return "enormous";
case SZ_HUGE:
return "huge";
case SZ_LARGE:
return "large";
case SZ_HUMAN:
return "human-sized";
2011-02-01 06:16:13 +11:00
case SZ_MEDIUM:
return "medium";
case SZ_SMALL:
return "small";
case SZ_TINY:
* [+] make vending machines use this container code instead. - [+] don't say "you see a few things" if one of them is footsteps * [+] IFMONSTER code failing....because flags are now SORTED!!! - [+] tumble - askcoords is letting us pick a cell we don't have lof to. * [+] assign a name to lfs once you hire them * [+] coloured msgtext - [+] make min dam reduction from AR be AR/5. - [+] safebox - [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with no getsweaker (val1) * [+] make fire / ice damage mor elike netheck - [+] towns should have gates on EVERY side - [+] forest cells outside town gates need to be CLEARED. (maybe turn to dirt) - [+] fix up knock targetting to include magical barriers - [+] say "open a bag?" not "operate a bag?" * [+] implement immunetodisease - [+] sort known skills in @s. - [+] better damage bonus when attacking someone who is asleep - [+] practive firearms/throwing * [+] need objecttype->size * [+] containers * [+] change guns so you have to reload them. ("operate") - [+] crash when loading map with water - [+] SAVE OBJECT CONTENTSk - [+] monsters with jobs aren't getting start items - [+] shopkeeper has shotgun - [+] bug: monster keeps swapping between shotgun and flail - [+] when hiring, remember failure. * [+] Inn - [+] bug: pets fighting!!! then they all turn on you. never make allies get angry unless the attacker is the player * [+] hiring npcs - [+] chat to pet: "stay close" or "keep your distance" - [+] new 'furniture' obclass - [+] allow for 'randomshop' regiontype * [+] add enchantment school - [+] cast a scroll of mending on itself. CRASH. * [+] lessengravity should make you jump better and get knocked back further - [+] boostgrav/lessengrav cancel out each other. * [+] CRASH when you fall down a hole and die. - [+] problem: master gravitation doesn't let us cast levitat. getspellschoolknown() should return the HIGHEST known skill, not the first. * [+] bug: dregion is null?!??! * [+] dig a pit, if you cleared out land below, you just stay down there. - [+] potion of leveitation - [+] warning msg when levitate is about to expire * [+] if you fall upwards to the surface... * [+] if you are ever on the surface while levitating.... - [+] BUG: cna't go up stairs to surface anymore!!!!! - [+] get hungry LOTS more quickly when you start sprinting * [+] monk slow metabolism psionic pell. - [+] fix buf with lore giving LESS accuracy instead of more. - [+] food shop - [+] wand of digging not identified if you dig upwards * [+] when you make ah ole in the roof, objects above should fall through right away * [+] all towns should have: - [+] give monks more psionics spells. - [+] sk_throwing skill - [+] make calm animals use spellpower * [+] add wisdom * [+] need to save region data along with maps * [+] COMBINE armour evasion and accuracy penalty!!! * [+] make armour reduce accuracy as well (unless you have 'armour' skill) - [+] landmine trap * [+] make friendly monsters of same raceclass swap ammo - [+] rename 'pull' to 'suck' to avoid confusion with pull metal * [+] food to fix blindness - [+] potion of coffee * [+] genericise statbrackets * [+] tumble ability * [+] simplify spell power * [+] shopkeeprs should be allowed to pursue targets outside of the shop. - [+] give shopkeepers a shotgun * [+] make F_RNDHOSTILE be able to ahve a random chance. * [+] if you randomly generate food in a shop, still give it a price. - [+] if peaceful humanoid walks into you, "sorry!" - [+] sayphrase(lf, SP_SORRY, vol) - [+] only let you recruit jobs with j_recruitable - [+] CRASH - summon "monk" - [+] dogs, - [+] chickens, - [+] drunks, * [+] village objects - [+] change armourrating AGAIN. instead of a percentage, make it a number. - [+] rename inn to "pub", since you can't sleep there. * [+] random speech code * [+] genericise sayphrase text based on lf's job * [+] monks - add rest of abliities - [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
return "tiny";
- [+] 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
case SZ_MIN:
* [+] 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
case SZ_MINI:
return "miniscule";
2011-02-01 06:16:13 +11:00
default:
return "unknown-sized";
}
return "unknown-sized";
}
char *getschoolname(enum SPELLSCHOOL sch) {
switch (sch) {
case SS_ABILITY: return "Abilities";
case SS_ALLOMANCY: return "Allomancy";
case SS_DIVINE: return "Divine Powers";
case SS_WILD: return "Wild Magic";
case SS_MENTAL: return "Psionic Powers";
case SS_AIR: return "Air Magic";
case SS_FIRE: return "Fire Magic";
case SS_COLD: return "Cold Magic";
case SS_MODIFICATION: return "Modification Magic";
case SS_DEATH: return "Necromancy";
case SS_NATURE: return "Enviromancy";
case SS_LIFE: return "Life Magic";
case SS_DIVINATION: return "Divination Magic";
case SS_TRANSLOCATION: return "Translocation Magic";
case SS_SUMMONING: return "Summoning Magic";
default:
break;
}
return "badschool";
}
char *getschoolnameshort(enum SPELLSCHOOL sch) {
switch (sch) {
case SS_ABILITY: return "Abilities";
case SS_ALLOMANCY: return "Allomancy";
case SS_DIVINE: return "Divine Powers";
case SS_WILD: return "Wild Magic";
case SS_AIR: return "Air Magic";
case SS_FIRE: return "Fire Magic";
case SS_COLD: return "Cold Magic";
case SS_DEATH: return "Necromancy";
case SS_LIFE: return "Life Magic";
case SS_MENTAL: return "Psionic Powers";
case SS_MODIFICATION: return "Modification";
case SS_NATURE: return "Nature";
case SS_DIVINATION: return "Divination";
case SS_TRANSLOCATION: return "Translocation";
case SS_SUMMONING: return "Summoning";
case SS_LAST: return "!invalid school!";
default:
break;
}
return "unknown school";
}
2011-02-01 06:16:13 +11:00
char *gettimetext(char *retbuf) {
int hours,mins,secs;
splittime(&hours, &mins, &secs);
snprintf(retbuf, BUFLEN, "%02d:%02d:%02d",hours,mins,secs);
2011-02-01 06:16:13 +11:00
return retbuf;
}
char *gettimetextfuzzy(char *retbuf, int wantpm) {
int hours,mins,secs;
int pm = B_FALSE;
splittime(&hours, &mins, &secs);
if (hours > 12) {
hours -= 12;
pm = B_TRUE;
}
- [+] when throwin gn aobject, warn if you have no LOF (just like spells) - [+] allow dodge/catch of thrown object when there is no thrower (ie. arrow traps) - [+] simplify monster spellcasting - [+] don't use any mp - [+] select power based on monster hit dice only - [+] monsters should cast spells less often - use f_castchance, default of 15% chance - [+] TEST - [+] you keep your own mpdice when polymorphing into a mosnter - [+] fxied: throw a tranq dart, then: - [+] The cockatrice loses consciousness. The cockatrice falls asleep. - [+] bug: can't operate a fridge on the ground cause it's too heavy to lift - [+] monsters generated on dark levels should always have seeindark 3-4 - [+] vending machines not working... fixed. - [+] in getchoicestr: - [+] if !showall, and if it shows a longdesc, then you hit backspace, longdesc should be cleared. - [+] show completion in a different colour - [+] bug: sometimes we seem to have map->room[x], but no cells with cell->room->id == thatid!! - [+] stop vaults from overlapping. - [+] taking too long to walk down levels - enforce max number of monster free turns - [+] inept weapon penalty should be slightly higher - [+] bad feeling check is too easy. - [+] skeletons should have f_noinjuries - [+] shouldn't check for slipping on things while swimming - [+] tweak how traps + perception skill impact search checks - [+] bug: sometimes we have no player start position. - [+] if the vault creation fails, restart map generation. - [+] only give study scroll ability at high spellcasting skill - [+] typo: ring (1 charges left) * [+] god effects when you die: - [+] pea soup should work in the cell in FRONT of you. - [+] bug: ring of control seems to work when you _weild_ it!! - [+] non-lethal weapons - [+] sword of mercy (at <1hp, ko) - [+] tranq dart - [+] add sleeptypes - [+] change all refernces to f_asleep->val[1] (now an enum) - [+] change "stirs in its slumber" if unconscious - [+] change all 'fallasleep' calls - [+] attacking a ko'd enemy with merciful weapon should do nothing. - [+] ai shouldn't target ko'd enemies - [+] ai should stop targetting people once they're dead/ko'd - [+] bashing damage should sometimes just knock unconscious instead of killing? - [+] if their hp would be >= -3, and onein(2) - [+] different body part names? "metal frame" instead of "body" - [+] implement F_BPNAME, v0=enum bodypart, text = name - [+] getbodypartname() needs a lf argument. - [+] once i add this, also make animals have "front legs" instead of "arms", "paws" rather than "hands" etc. - [+] fix calls to getbodypartname to pass in lf or null - [+] cyborg mods: - [+] can't wear most armour? - [+] need f_noarmouron - we HAVE this bp, but can't put armour on it. - [+] large rust damage from water - [+] if you have a bad feeling about an object, mark it as "[bad]" - [+] f_knownbad - [+] killing should anger the god of mercy
2011-09-22 12:00:16 +10:00
if (hours == 0) hours = 12;
2011-02-01 06:16:13 +11:00
if (mins == 0) {
snprintf(retbuf, BUFLEN, "exactly %d o'clock", hours);
2011-02-01 06:16:13 +11:00
} else if (mins <= 15) {
snprintf(retbuf, BUFLEN, "a little after %d o'clock", hours);
2011-02-01 06:16:13 +11:00
} else if (mins <= 25) {
snprintf(retbuf, BUFLEN, "nearly half past %d", hours);
2011-02-01 06:16:13 +11:00
} else if (mins <= 35) {
snprintf(retbuf, BUFLEN, "around half past %d", hours);
2011-02-01 06:16:13 +11:00
} else if (mins <= 45) {
snprintf(retbuf, BUFLEN, "coming up to %d o'clock", (hours == 12) ? 1 : (hours+1));
2011-02-01 06:16:13 +11:00
} else {
snprintf(retbuf, BUFLEN, "nearly %d o'clock", (hours == 12) ? 1 : (hours+1));
2011-02-01 06:16:13 +11:00
}
if (wantpm) {
strcat(retbuf, " in the ");
if (pm) {
strcat(retbuf, "afternoon");
} else {
strcat(retbuf, "morning");
}
}
return retbuf;
}
- [+] 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
char *getwaterdepthname(enum DEPTH d) {
switch (d) {
case DP_NONE:
return "shallow";
case DP_TOE:
return "toe-deep";
case DP_ANKLE:
return "ankle-deep";
case DP_FEET:
return "foot-deep";
case DP_CALF:
return "calf-deep";
case DP_KNEE:
return "knee-deep";
case DP_THIGH:
return "thigh-deep";
case DP_WAIST:
return "waist-deep";
case DP_BELLY:
return "belly-deep";
case DP_CHEST:
return "chest-deep";
case DP_SHOULDERS:
return "shoulder-deep";
default:
return "very deep";
}
return "?unknowndepth?";
}
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
char *getweighttext(float weight, char *buf, int shortfmt) {
* [+] 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 (weight == 0) {
- [+] 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 (shortfmt) snprintf(buf, BUFLEN, "0kg");
else snprintf(buf, BUFLEN, "nothing");
* [+] 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
} else if (weight >= 1) {
2011-02-01 06:16:13 +11:00
if ((int)weight == weight) { // ie. is weight an integer?
- [+] 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
snprintf(buf, BUFLEN, "%0.0f%skg",weight, shortfmt ? "" : " ");
2011-02-01 06:16:13 +11:00
} else {
- [+] 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
snprintf(buf, BUFLEN, "%0.1f%skg",weight, shortfmt ? "" : " ");
2011-02-01 06:16:13 +11:00
}
} else {
- [+] 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
snprintf(buf, BUFLEN, "%0.0f%s", weight * 1000, shortfmt ? "g" : " grams");
2011-02-01 06:16:13 +11:00
}
return buf;
}
* [+] F_prone if you're knocked down - [+] make sheilds very good against projectiles - [+] make smoke just REDUCE vision, not block it. - [+] noncorporeal should stop grabs! * [+] don't say 'a javelin is damaged' when you throw it, just apply the damge - [+] increase damage bonus with every lore level. +10% each time (ie. up to 50% at top) * [+] give accuracy + critical bonus for lore levles too - [+] typo: Enhance which skill enhance (1 left)? ['=next page,?=toggle] - [+] Show Pain on botl. * [+] more staves - [+] low hitpoint warning for pets (or make them shriek, whine, etc) - [+] CRITKNOCKDOWN * [+] FINISH GRIZZLY - [+] undead should be immune to poison!! - [+] make code to auto add flags to undead. - [+] if you ever move a door (ie. airblast), automatically open it. - [+] young wolf shouldn't be able to open a door! * [+] You throw a dart at the carpet snake. Your dart misses you.--More-- - [+] no sprinting while burdneed - [+] blood should be drawn BELOW stairs - [+] weilded torch should do 1d4 fire damage (counts as a club) * [+] The skeleton touches a leather belt then recoils in pain!The skeleton drops a blessed leather belt.The skeleton puts on a leather belt. - [+] don't show "you can cast it at power level xxx" for abilities * [+] more item randomising - [+] make grey ooze splatter into acid - [+] "the vine grabs you" if you walk onto an entangling vine. - [+] don't start monsters within player's los - [+] properly randomise sticks to snakes - [+] stirge - [+] leech (like stirge but can charge/leap, and slightly more hp / damage) - [+] treesnake - [+] constrictor - [+] cobra - [+] stickes to snakes - make caster's weapon revert. - [+] A something comes into view. - [+] is invisibility code working properly when you see someone use the invis spell? - [+] don't include cosmetic objects in 'you see xxx' * [+] monsters: don't use spells if you don't have lof. - [+] pets not following around corners if you move diagonally. fixed a little. - [+] summon small animals (2-3 x SZ_SMALL) * [+] jet of water - [+] summon medium animals (2-4 x SZ_MEDIUM, wolf etc) - [+] lightning storm (lightbning everyone within los, and more damage) - [+] summon large animals (SZ_LARGE, horse, bear etc)
2011-05-03 17:34:07 +10:00
char *is(lifeform_t *lf) {
if (isplayer(lf)) return "are";
else return "is";
}
- [+] griddler didnt start with trident? - [+] it DID, but it dropped it cuase it was hot. - [+] griddler should be immune to redhot! (testing shows it currently isn't) - [+] once prisoners give you a reward, they shouldn't be allies anymore (ie shouldn't follow you up/down stairs) - [+] portal to realm of gods hsouldn't work until you have a godstone. - [+] why did potion of oil explode when i threw it? - [+] for unique monsters, instead of "jimbo's armour protects it", use "jimbo's armour protects him" - [+] use f_gender - [+] this replaces F_GODOF. - [+] change gods to use this too. - [+] change cloak of shadows - only work if max vis range is low ? - [+] monsters can't see you if they are >=3 away - [+] F_SHADOWED - [+] more amulets - [+] of the traveller (go to a much deeper level or branch when you put it on. go back when you take it off) - [+] implement - [+] usually start cursed - [+] boost piety gain - [+] soul feasting - [+] acrobatics (tumble/jump) - [+] choking - [+] first add f_nobreath - [+] doesn't work if you don't need to breath - [+] hydra blood poisonous - [+] handle "linkrace:xxx splash of blood" - [+] make bleed() use this. - [+] add f_venomblood to r_hydra (and others?) - [+] make filling potions from blood check for f_linkrace->f_venomousblood - [+] maybe handle this more elegantly. - [+] add f_bloodfillob to blood objects (inherit from lf) - [+] fine, but what about addobsinradius? make it populate retobs!!! - [+] change f_venomblood to f_bloodfillob->ot_pot_poison - [+] remove "linkrace:xxx" code from objects.c and from bleed() - [+] flashbang shouldnt affect user (you would look away) - [+] add F_THROWNBY to objects when you throw them. - [+] stop initial revolvers from starting with 'a rubber bullet' - [+] dry ice grenade - csats "snapfreeze" - [+] needs f_spellcloudondeath - [+] implement - [+] spiked club - [+] The hawk critically claws your hands. Your ! - [+] fixed. - [+] need another way to unlock chests - [+] bash them - [+] if it is trapped, high chance that the trap will go off - [+] if you attack something which is locked, it has a small chance of becoming unlocked - [+] rnd(1,your_str) must be > lockdiff! - [+] different unarmed attack verbs for monk - [+] javelin of lightning - [+] when you throw it: - [+] dothrow() calls spelleffects(LTBOLT) - [+] then uses up one charge - [+] if charges are left: - [+] reforms in your hands - [+] otherwise it turns into a normal javelin - [+] shovel - [+] jackhammer (like pickaxe but faster)
2012-04-14 08:52:35 +10:00
char *it(lifeform_t *lf) {
if (isplayer(lf)) return "you";
switch (getgender(lf)) {
case G_MALE: return "him";
case G_FEMALE: return "her";
default: break;
}
return "it";
}
2010-12-02 12:17:54 +11:00
int isvowel (char c) {
switch (c) {
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
return B_TRUE;
}
return B_FALSE;
}
- [+] 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
// return text for player's F_GUNTARGET flag eg. "goblin [acc:50%]"
void makegunaimstring(lifeform_t *lf, int lfid, char *retbuf) {
char accbuf[BUFLEN];
char targname[BUFLEN];
flag_t *f;
lifeform_t *targ;
targ = findlf(lf->cell->map, lfid);
if (!targ) {
strcpy(retbuf, "");
return;
}
getlfname(targ, targname);
f = addflag(lf->flags, F_THROWING, B_TRUE, NA, NA, NULL);
makethrowaccstring(lf, targ->cell, f, accbuf);
killflagsofid(lf->flags, F_THROWING);
- [+] 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
sprintf(retbuf, "%s%s", noprefix(targname), accbuf);
- [+] 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 *makekillertext(char *retbuf, char *killverb, char *lastdam, map_t *where, int wantextra, int wantlocation) {
char *p, *dummy;
char regionbuf[BUFLEN];
- [+] delvers should always want money for info, unless you are a delver too. - [+] mirror image (mental) - [+] varpower - [+] makes power 'clone' lfs who look the same as caster - [+] ie. same race. - [+] also same job/armour/weps? - [+] add f_noxp - [+] add f_nocorpse - [+] add f_summonedby so they vanish when the caster dies - [+] add f_phantasm - [+] vanish after _power_ hits, - [+] attacks do 0 damage - [+] don't announce innefectual attacks - [+] dont cast spells or use abilities - [+] petify() them if made by the player - [+] force them to stay close. - [+] in io.c or getlfname, show "[clone]" if it has f_phantasm and was created by player - [+] mosnters try to attack them. - [+] once one gets hit enough times, it disappears - [+] if the caster dies or changes level, they disappear. - [+] can't talk to them - [+] their obejcts vanish when they die - [+] don't talk - [+] make Yumi more about forgiving silly mistakes and avoiding instakills - [+] remove liking of healing - [+] remove like of healing spells - [+] takes a long time to anger. - [+] aviod traps (bamf you away before they trigger) - [+] prayers: - [+] resist stoning (pray while appropriate creatures around) - [+] resist paralysis (pray while appropriate creatures around) - [+] sleep on enemies - [+] passive powers: - [+] always warn as if wisdom is high (passive) - [+] always save when killed right after using stairs (passive) "well, that seemed unfair." - [+] gift: - [+] auto sixth sense - [+] potions of restoration - [+] ring of miracles - [+] shouldn't be able to Offer while enraged. - [+] don't lose stamina while caffeinated - [+] new vault: pit with walkway around it - [+] bug: when worshipping yumi you get "you kill xxx" but they're still alive - [+] ... but they're still alive! - [+] ... for yumi, move KO chance from losehp() to attacklf(). - [+] do the check BEFORE setting 'fatal' - [+] pass forceko to losehp_real - [+] bug: adjustdamhardness should only trigger when ismeleedam() is true, not isphysicaldam() - [+] greatly reduce motel cost - [+] change order in attack.c: apply damage THEN announce, to deal with KO - [+] do it. - [+] test KO code. - [+] then check that feign death still works - [+] demonskin vest should be flammable or vulnerable to fire. - [+] time to get up should depend on size. - [+] less than human: shortnone - [+] human: normal - [+] larger than human: longer - [+] expert unarmed now gives you 'flip' - [+] reduce damage done by low-level monsters - [+] change resoration into a spell - [+] implement - [+] test - [+] new spell: ressurection - [+] corpses need to remember their lf's level - [+] test - [+] godstone of life - revives/restores all - [+] rename "confiscate" to "yoink", and make it take a random object at power 1, selected at power 2 - [+] gods should attack player if they are Enraged or Furious - [+] is STR calc to see if you can push a boulder still working? - [+] change to wizards: - [+] start at novice in all magic skills (but don't gain initial spells) - [+] killing undead should please glorana LOTS. because it's hard to gain piety with her otherwise. - [+] restoration spells/potion should hurt undead - [+] healing spells/potions should hurt undead - [+] immolate shouldnt work if there is aleady a fire tehre. CODE FOR WINNING THE GAME: - [+] get at least one godstone - [+] exit the dungeon - [+] find the portal to the realm of gods - [+] opposing god should appear once you pick up a godstone, and tell you what to do next. - [+] "come to the realm of gods and use it to destroy (related god)" - [+] "or if you lack the courage, give it to me!" - [+] "you will find a portal on the surface" - [+] use the portal to teleport to realm of gods - [+] implement text for all gods... - [+] god text in wt_god - should say 'but you werent meant to replace them!' - [+] EITHER: - [+] challenge and defeat the god related to this godstone (more points. "Crowned the god of xxx.") - [+] TEST - [+] offer the godstone to the godstone's opposing god (less points, "Ascended to demigod-hood.") - [+] implement - [+] TEST GODSTONES: - [+] klikirak: rage - [+] done - [+] (make this one have fire effects too) - [+] glorana: life - [+] Felix shouldn't be able to yoink the godstone off you! - [+] Write up the rest of the Godstone finding text..... - [+] magic - [+] battle - [+] life - [+] mercy - [+] you can't hurt gods unless you - [+] a) have their godstone - [+] b) are in the realm of gods
2012-02-17 16:16:45 +11:00
if (wintype) {
flag_t *winflag;
winflag = lfhasflag(player, F_WINNER);
if (winflag->val[0] == WT_GOD) {
sprintf(retbuf, "Crowned the God of %s.", winflag->text); // ie. "Became the God of Fire & Destruction"
} else if (winflag->val[0] == WT_DEMIGOD) {
sprintf(retbuf, "Ascended to Demigod-hood.");
}
return retbuf;
}
p = strtok_r(lastdam,"^", &dummy);
if (p) {
if (!strcmp(p, "you")) {
strcpy(retbuf, "Committed suicide");
} else {
snprintf(retbuf, BUFLEN, "%s %s %s",killverb,
- [+] monster: triclops. perception. vuln to light. - [+] flying creatures shoudl fall to the ground when unconscious - [+] (this might kill them) - [+] animate statue - bring statue to life - [+] excavate - radial, obliterate walls + obs, doesn't affect lfs - [+] test unicode wall glyph! 0x2588 - [+] use unicode for gas - [+] change f_glyph so that v1 = symbol, instead of text = symbol - [+] change code - [+] change definitions (macro) - [+] test - [+] implement puff = UNI_SHADELIGHT - [+] implement cloud = bolded - [+] if good, extend to staem etc - [+] blue background for lfs in the water - [+] prone in water means effective lower height - [+] glass/ice cells not shattering properly - [+] make magic barriers be solid too - [+] combine lockpick code in io.c and objects.c into the lockpick() function. - [+] first ask what to use (if required) - [+] then ask what dir (if required) - [+] then ask what to unlock (if reuiqred) - [+] then do it - [+] locked containers - [+] picklocks prompts to try them. - [+] in addob, use non-inheritable f_lockedchance for both doors and chests? - [+] v0 = chance v1 = mod per depth - [+] doors: - [+] base 20% chance locked - [+] every 5 levels, add 10% chance - [+] add this to chests / safeboxes - [+] operate doesn't let you open them - [+] bugs in linkexits and linkexit - [+] linkexits: wasn't checking the correct exit cell!!! - [+] lnkexit: wasn't blanking the startcell GRATINGS: - [+] flags: - [+] addflag(lastot->flags, F_OPPOSITESTAIRS, OT_HOLEINROOF, NA, NA, NULL); - [+] climbable d_down NA - [+] BUT you can't climb it if it's locked. - [+] usestairs() - if you climb a grating and it has no maplink: - [+] use createregionlink(map, cell, grating_object, NULL, RG_SEWER, map->region) - [+] make stench affect enhancedsmell creatures more. - [+] excavate should only affect SOLID matter. - [+] going down a drain: - [+] "You walk down a staircase" should be "climb down a drain" - [+] deep slime in sewers sohuldn't spread - [+] deep slime should spread to a slime puddle if it does.... - [+] fix background glyph colour for slime - [+] killed by drowning should really be "drowned in %s" SEWER HABITAT - [+] permenant stench - [+] if you're in a sewer cell and are not nauseated, add it. - [+] nauseated doesn't expire in sewers. - [+] add RG_SEWER - [+] new regiontype - RG_SEWER - [+] map: - [+] pick size 2 - 5 - [+] start at x=2,y=2 - [+] add square 3x3 rooms in gridlike layout (but need space for 5) - [+] connect rooms to orthogonally adjacent ones with passages - [+] use addexits(). no exits on outer walls. - [+] fill all empty cells with low floor and water (but NOt the one with the exit!) - [+] any solid with orthogonally adjacent water changes to a walkway - [+] cope with different x/y room counts - [+] cope with differnet vert/horz corridor sizes. - [+] horz = 2 - [+] vert = 1 - [+] random room size - [+] allow objectclasses to have f_rarity - [+] modify getrandomobcalss - [+] but DONT make objects inherit it!!! - [+] this is used to override selection hased on habitat - modify getrandomobcalss appropriately - [+] random objects/treasure: - [+] add these only in non-water cells?? - [+] move all obs from water clls to random land cells - [+] frequent - [+] vomit - [+] soggy paper - [+] rotted food (add f_tainted to it) - [+] common - [+] wep/arm - [+] all wep/arm are shoddy in sewers - [+] uncommon - [+] rings (higher than normal chance - they were lost down sinks) - [+] occasional tech - [+] bug: playerstart3 vault filled with walls when made randomly! - [+] death speech text for intelligent monsters - [+] 'aaargh!' - [+] 'this isn't over!' - [+] BUG: linkexits() - gettings exits in the wrong place. maybe not taking rotation into account??? - [+] for example in playerstart_5 vault, found an 'exit' at the x: - [+] this comes from the map flag f_roomexit, x, y - [+] the flag may have bene added from autodoors() - [+] have changed code so that f_roomexti uses text field to say who added it
2011-11-29 13:25:04 +11:00
streq(killverb, "Drowned") ? "in" : "by",
p);
}
if (wantextra) {
p = strtok_r(NULL, "^", &dummy);
while (p) {
strcat(retbuf, "\n(");
strcat(retbuf, p);
strcat(retbuf, ")");
p = strtok_r(NULL, "^", &dummy);
}
}
} else {
sprintf(retbuf, "%s by something unknown", killverb);
}
if (wantlocation) {
// now include WHERE they died.
getregionname(regionbuf, where, NULL, RF_LONG);
strcat(retbuf, " ");
strcat(retbuf, regionbuf);
}
strcat(retbuf, ".");
return retbuf;
}
- [+] 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
char *makelowercase(char *text) {
if (strlen(text) > 0) {
char *p;
for (p = text ; *p; p++) {
*p = tolower(*p);
}
}
return text;
}
2010-12-02 12:17:54 +11:00
// allocates and returns new string
char *makeplural(char *text) {
char lastlet;
2010-12-07 18:34:26 +11:00
char *newtext;
int rv;
newtext = strdup(text);
// scrolls
newtext = strrep(newtext, "bag ", "bags ", &rv);
if (rv) return newtext;
2011-02-01 06:16:13 +11:00
newtext = strrep(newtext, "berry ", "berries ", &rv);
if (rv) return newtext;
newtext = strrep(newtext, "block ", "blocks ", &rv);
if (rv) return newtext;
newtext = strrep(newtext, "can ", "cans ", &rv);
if (rv) return newtext;
newtext = strrep(newtext, "chunk ", "chunks ", &rv);
if (rv) return newtext;
newtext = strrep(newtext, "clove ", "cloves ", &rv);
if (rv) return newtext;
* [+] 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
newtext = strrep(newtext, "flask ", "flasks ", &rv);
if (rv) return newtext;
2011-02-01 06:16:13 +11:00
newtext = strrep(newtext, "gem ", "gems ", &rv);
if (rv) return newtext;
newtext = strrep(newtext, "knife", "knives", &rv);
if (rv) return newtext;
2011-05-20 06:30:58 +10:00
newtext = strrep(newtext, "leaf", "leaves", &rv);
if (rv) return newtext;
2011-02-01 06:16:13 +11:00
newtext = strrep(newtext, "loaf ", "loaves ", &rv);
2010-12-07 18:34:26 +11:00
if (rv) return newtext;
2011-02-01 06:16:13 +11:00
newtext = strrep(newtext, "lump ", "lumps ", &rv);
2010-12-07 18:34:26 +11:00
if (rv) return newtext;
2011-02-01 06:16:13 +11:00
newtext = strrep(newtext, "piece ", "pieces ", &rv);
if (rv) return newtext;
newtext = strrep(newtext, "pile ", "piles ", &rv);
if (rv) return newtext;
- [+] 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
newtext = strrep(newtext, "pinch ", "pinches ", &rv);
if (rv) return newtext;
2011-02-01 06:16:13 +11:00
newtext = strrep(newtext, "pool ", "pools ", &rv);
if (rv) return newtext;
newtext = strrep(newtext, "potion ", "potions ", &rv);
if (rv) return newtext;
newtext = strrep(newtext, "puddle ", "puddles ", &rv);
if (rv) return newtext;
- [+] 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
newtext = strrep(newtext, "puff ", "puffs ", &rv);
if (rv) return newtext;
2011-02-01 06:16:13 +11:00
newtext = strrep(newtext, "ring ", "rings ", &rv);
- [+] add a bunch of gemstones - worth points - [+] 'thrust' ability isn't showing up in ABILS - [+] give slight accuracy penalty when thrusting - [+] fixed shieldblock difficulty in melee combat - [+] increased maxstamina - [+] don't require stamina to move! - [+] "You hear a roars." - [+] remove duplicate corpse rot code - [+] CRASH - [+] malloc: *** error for object 0x1349d94f8: incorrect checksum for freed object - object was probably modified after being freed. - [+] #7 0x00000001000f438a in addobject (where=0x134edc060, name=0x0, canstack=0, wantlinkholes=-1, forceoid=OT_CLAWS) at objects.c:983 #8 0x00000001000f298d in addobfast (where=0x134edc060, oid=OT_CLAWS) at objects.c:409 #9 0x00000001000b621b in getbestweapon (lf=0x114439ff0) at lf.c:5194 #10 0x00000001000087fa in aiturn (lf=0x114439ff0) at ai.c:1236 - [+] fixed ? - [+] instead of everything >=6 being dark, make a CHANCE to be dark starting at l6. - [+] why do i ese gem of seeing so often - [+] because i need more types or 'rock' - [+] have to cook food before eating it? - [+] need novice cooking skill for preparecorpse ability - [+] otherwise you only get a very small amount of nutrition (10%) - [+] split ob piles before eating them - [+] detect poison should detect poison traps - [+] telling your ally to rest until healed isn't working... - [+] wasn't taking injuries or stamina into account. - [+] change druid spells - [+] start with 3 random spells - [+] on levelup, select a random nature spell (up to your highest level)
2011-11-08 12:19:25 +11:00
if (rv) return newtext;
newtext = strrep(newtext, "ruby", "rubies", &rv);
2011-02-01 06:16:13 +11:00
if (rv) return newtext;
newtext = strrep(newtext, "scroll ", "scrolls ", &rv);
if (rv) return newtext;
2011-03-04 12:22:36 +11:00
newtext = strrep(newtext, "splash ", "splashes ", &rv);
if (rv) return newtext;
* [+] 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
newtext = strrep(newtext, "set ", "sets ", &rv);
if (rv) return newtext;
- [+] 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
newtext = strrep(newtext, "sheet ", "sheets ", &rv);
if (rv) return newtext;
newtext = strrep(newtext, "sprig ", "sprigs ", &rv);
if (rv) return newtext;
2011-03-04 12:22:36 +11:00
newtext = strrep(newtext, "suit ", "suits ", &rv);
if (rv) return newtext;
2011-02-01 06:16:13 +11:00
newtext = strrep(newtext, "vial ", "vials ", &rv);
2010-12-07 18:34:26 +11:00
if (rv) return newtext;
2010-12-02 12:17:54 +11:00
2011-02-01 06:16:13 +11:00
//
newtext = strrep(newtext, "pair ", "pairs ", &rv);
2010-12-07 18:34:26 +11:00
// don't return
// default
2010-12-02 12:17:54 +11:00
lastlet = text[strlen(text)-1];
switch (lastlet) {
* [+] 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
char *temptext;
2011-03-04 12:22:36 +11:00
case 'y': // change to 'ies'
* [+] 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
temptext = strdup(text);
temptext[strlen(temptext)-1] = '\0';
asprintf(&newtext, "%sies",temptext);
free(temptext);
2011-03-04 12:22:36 +11:00
break;
2010-12-02 12:17:54 +11:00
case 's':
case 'o': // append "es"
asprintf(&newtext, "%ses",text);
break;
default: // append "s"
asprintf(&newtext, "%ss",text);
break;
}
return newtext;
}
- [+] 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
- [+] 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
// throwflag should be either a F_THROWING or a F_FIRING flag.
char *makethrowaccstring(lifeform_t *lf, cell_t *c, flag_t *throwflag, char *retbuf) {
object_t *o = NULL, *gun = NULL;
int acc = 0;
strcpy(retbuf, "");
if (strlen(throwflag->text)) {
// get the object being thrown
o = findobbyid(lf->pack, atol(throwflag->text));
} else { // ie. firing a gun
gun = getfirearm(lf);
if (!gun) return NULL;
o = getammo(gun);
}
if (!o) return NULL;
acc = getmissileaccuracy(lf, c, o, gun, lfhasflag(player, F_TKTHROW)) ;
if (lfhasflag(lf, F_EXTRAINFO)) {
sprintf(retbuf, "^%d [acc:%d%%]^n", getpctcol(acc,100), acc);
} else {
sprintf(retbuf, "^%d [acc:%c]^n", getpctcol(acc,100), getpctletter(acc,100));
}
return retbuf;
}
- [+] young hawk moving very slowly? was healing. - [+] make monsters heal faster when resting - [+] make pet rest when you do - [+] allow 'R' to heal allies - [+] F_RESTUNTILALLIES - [+] mindless/animal mosnters won't throw things - [+] announceflag for attrset not working * [+] feeblemind spell - reduces intelligence to ANIMAL. - [+] ai: if we are carrying too much, drop something (non-weapons/armour first) - [+] teleport spell should teleport any adjacent allies too. * [+] new 'C'hat commands: * [+] change 'resist elements' potion to 'rum' * [+] notify when pet is low on hp - [+] why could a pirate use a biuckler? * [+] genericise usage of canhaveobmod! - [+] armour mod: blooodstained. adds scary. - [+] CRASH when you have two weapons and catch a glowbug in your flask. * [+] potion of restoration onto frozen axe: - [+] slow spell repeated message: The brown snake looks sluggish. The brown snake is now moving slower. - [+] make you only hear one thing each turn ? - [+] always draw impassable objects on top - [+] special ash - [+] exploding powder - explode in radius 1 around player (including player) - [+] concealing powder - create smoke cloud radius 3 around player - [+] redo levelup logic. - [+] trigger LevUp when you have 'newskillready' - [+] announce when you gain level. - [+] can't gain more experience when LevUp! - [+] only update maxhp/mp from new level after you train - [+] diety can't use abilities. fixed. * [+] when i exit from@S output, statbar isn't redrawn * [+] make SKILLS page show which skills you can learn. - [+] In @s, downline isn't showing the title on the second page of SKILLS... - [+] show POWER in @M spells page - [+] ###--- - [+] show cost RANGE in @M for varpower ones - [+] need getspellcosttext(spellid, power, buf) function - [+] 25-62MP - [+] leftover rubbish chars at end of ---- in doheading() - [+] mosnters should follow you up/down stairs * [+] different poison types - [+] implement tremorsense (like darkvision butrun can't be blinded etc) * [+] implement HIDE ability * [+] Thief job - [+] if you walk into a room and every cell is lit, reveal it all. - [+] auto-learn jump ability with high athletics skill * [+] secret doors - [+] items to spot secret doors - [+] gem of seeing - [+] ENHANCESEARCH - [+] F_SEEINVIS - [+] spell: "reveal hidden" - [+] shows secret doors - [+] removes invisibility - [+] wand of detect hidden - [+] ... casts the spell
2011-04-14 09:44:29 +10:00
char *makeuppercase(char *text) {
if (strlen(text) > 0) {
char *p;
for (p = text ; *p; p++) {
*p = toupper(*p);
}
}
return text;
}
2010-12-07 18:34:26 +11:00
- [+] 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
// return something like:
// "over the shoulders"
// or
// "on your body, over your eyes and on your legs"
char *makewearstring(lifeform_t *lf, object_t *o, int wantyour, char *posbuf) {
flag_t *retflag[MAXCANDIDATES];
char yourbuf[BUFLEN];
int nretflags = 0,i;
if (wantyour) {
if (!lf) {
strcpy(yourbuf, "the ");
} else if (isplayer(lf)) {
strcpy(yourbuf, "your ");
} else {
strcpy(yourbuf, "its ");
}
} else {
strcpy(yourbuf, "");
}
getflags(o->flags, retflag, &nretflags, F_EQUIPPED, F_NONE);
for (i = 0; i < nretflags; i++) {
char thisposbuf[BUFLEN];
makewearstringsingle(lf, retflag[i], yourbuf, thisposbuf);
if (i == 0) {
strcpy(posbuf, thisposbuf);
} else if (i == (nretflags - 1)) {
strcat(posbuf, " and ");
strcat(posbuf, thisposbuf);
} else {
strcat(posbuf, ", ");
strcat(posbuf, thisposbuf);
}
}
return posbuf;
}
// return something like:
// "on your body"
// OR
// "over the eyes"
char *makewearstringsingle(lifeform_t *lf, flag_t *f, char *yourbuf , char *posbuf) {
enum BODYPART bp;
bp = f->val[0];
sprintf(posbuf, "%s %s%s", getbodypartequipname(bp), yourbuf, getbodypartname(lf, bp));
return posbuf;
}
* [+] 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 needses(char *text) {
if (text[strlen(text)-1] == 's') {
return B_TRUE;
}
if (strlen(text) >= 2) {
if ((text[strlen(text)-2] == 'c') &&
(text[strlen(text)-1] == 'h')) {
return B_TRUE;
}
}
return B_FALSE;
}
- [+] if you cancel a limited wish, don't age you. - [+] sourges shouldn't learn spells from books - [+] MR doesn't affect canwill spells? - [+] innate MR (ie. fromrace or from scource) doesn't affect spells either. - [+] too many potions of water! made it common rather than frequent. now NO frequent potions. - [+] getting 'wake t someone runmmaging through your pack' when noone nearby - [+] maybe this flag isn't gettginre removed properly? - [+] polymorph should fix injuries first * [+] for missing hand injuries, select the hand AFTER main switch() * [+] shouldn't be able to weild 2-handed weapons if you only have 1 hand!!! - [+] "travel" spell should let you go to RT_HABITAT things. - [+] fix crash validating f_spotted flag - [+] don't always put "The " on unique objects. - [+] use F_THE for this instead. - [+] godstones should still have F_THE - [+] don't place staircases inside MAINTAINEDGE vaults!! - [+] burning a wood floor only makes a hole in the ground if there are more levels underneath! - [+] end of caves: - [+] both bossrooms should have goblin king and red wyrmling - [+] stone key. - [+] need a vault flag which say s: add f_stayinroom to everyone who is created in this room - [+] done: "keepmonsinroom" - [+] cope with a branch's entry stairs coming from a vault - [+] killing unique monsters with necrotic damage should still leave a corpse. - [+] make "ornate chest" which has rare objects - [+] put it in branch endings and make it a rare object - [+] f_extrainfo in fireat() should show damage _after_ adjustment - [+] BUG: swamp rooms aren't connected!!!! - [+] end of forest branch: - [+] vault containing baba yaga's hut - [+] bone fence around it - [+] skeletons - [+] the hut. - [+] baba yaga's hut - [+] cabin on chicken legs - [+] f_timid! - [+] jump - [+] claw attacks - [+] walks around - [+] corpsetype = link to inside the hut - [+] made of dragonwood (ie. hardness 5) - [+] Don't say "You kill the walking hut". - [+] text when it dies: "Exhausted, the hut slumps to the ground." - [+] inside the hut = small level with baba yaga - [+] new regiontype: babayaga's hut - [+] new habitat: byhut - [+] making the habitat: only has a single vault. (one with tag 'byhut') - [+] diff layouts - [+] circular - [+] square - [+] baba yaga herself - [+] baba yaga - [+] weighs 50kg - [+] obs: - [+] key! - [+] hp: 135 = 22 hitdice (d6) - [+] 75% magic resistance - [+] attribs - [+] str: exhigh - [+] iq: exhigh - [+] wis: exhigh - [+] agi: average - [+] con: high - [+] cha: exlow - [+] fire, cold, magic, poison resist - [+] immune to necrotic - [+] abilities - [+] seeinvis - [+] awareness - [+] claw/teeth attacks. - [+] claw = 8 DR - [+] teeth = 6 DR - [+] maxattacks = 2 - [+] grab ability - [+] spells?????? - [+] fear - [+] weaken - [+] summon insects/animals - [+] entangle - [+] blink - [+] when she dies, unlock the hut door. - [+] delving code. - [+] new digging code: - [+] delve() - [+] delve_pullcell - [+] etc - [+] h_antnest - [+] creaetantnest calls delve() functions. - [+] insert this in the main dungeon somewhere - [+] populate with monsters (set rarity) - [+] place queen ant on the map. - [+] via new regionthing type RT_LF - [+] branch ends should have a boss with a key! - [+] jimbo - [+] babayaga - [+] cave boss (dragon ?)
2012-04-04 19:59:48 +10:00
// remove 'the ', 'an ', 'a ', '1 ' etc
2011-02-01 06:16:13 +11:00
char *noprefix(char *obname) {
char *p;
- [+] if you cancel a limited wish, don't age you. - [+] sourges shouldn't learn spells from books - [+] MR doesn't affect canwill spells? - [+] innate MR (ie. fromrace or from scource) doesn't affect spells either. - [+] too many potions of water! made it common rather than frequent. now NO frequent potions. - [+] getting 'wake t someone runmmaging through your pack' when noone nearby - [+] maybe this flag isn't gettginre removed properly? - [+] polymorph should fix injuries first * [+] for missing hand injuries, select the hand AFTER main switch() * [+] shouldn't be able to weild 2-handed weapons if you only have 1 hand!!! - [+] "travel" spell should let you go to RT_HABITAT things. - [+] fix crash validating f_spotted flag - [+] don't always put "The " on unique objects. - [+] use F_THE for this instead. - [+] godstones should still have F_THE - [+] don't place staircases inside MAINTAINEDGE vaults!! - [+] burning a wood floor only makes a hole in the ground if there are more levels underneath! - [+] end of caves: - [+] both bossrooms should have goblin king and red wyrmling - [+] stone key. - [+] need a vault flag which say s: add f_stayinroom to everyone who is created in this room - [+] done: "keepmonsinroom" - [+] cope with a branch's entry stairs coming from a vault - [+] killing unique monsters with necrotic damage should still leave a corpse. - [+] make "ornate chest" which has rare objects - [+] put it in branch endings and make it a rare object - [+] f_extrainfo in fireat() should show damage _after_ adjustment - [+] BUG: swamp rooms aren't connected!!!! - [+] end of forest branch: - [+] vault containing baba yaga's hut - [+] bone fence around it - [+] skeletons - [+] the hut. - [+] baba yaga's hut - [+] cabin on chicken legs - [+] f_timid! - [+] jump - [+] claw attacks - [+] walks around - [+] corpsetype = link to inside the hut - [+] made of dragonwood (ie. hardness 5) - [+] Don't say "You kill the walking hut". - [+] text when it dies: "Exhausted, the hut slumps to the ground." - [+] inside the hut = small level with baba yaga - [+] new regiontype: babayaga's hut - [+] new habitat: byhut - [+] making the habitat: only has a single vault. (one with tag 'byhut') - [+] diff layouts - [+] circular - [+] square - [+] baba yaga herself - [+] baba yaga - [+] weighs 50kg - [+] obs: - [+] key! - [+] hp: 135 = 22 hitdice (d6) - [+] 75% magic resistance - [+] attribs - [+] str: exhigh - [+] iq: exhigh - [+] wis: exhigh - [+] agi: average - [+] con: high - [+] cha: exlow - [+] fire, cold, magic, poison resist - [+] immune to necrotic - [+] abilities - [+] seeinvis - [+] awareness - [+] claw/teeth attacks. - [+] claw = 8 DR - [+] teeth = 6 DR - [+] maxattacks = 2 - [+] grab ability - [+] spells?????? - [+] fear - [+] weaken - [+] summon insects/animals - [+] entangle - [+] blink - [+] when she dies, unlock the hut door. - [+] delving code. - [+] new digging code: - [+] delve() - [+] delve_pullcell - [+] etc - [+] h_antnest - [+] creaetantnest calls delve() functions. - [+] insert this in the main dungeon somewhere - [+] populate with monsters (set rarity) - [+] place queen ant on the map. - [+] via new regionthing type RT_LF - [+] branch ends should have a boss with a key! - [+] jimbo - [+] babayaga - [+] cave boss (dragon ?)
2012-04-04 19:59:48 +10:00
int donesomething = B_TRUE;
p = obname;
while (donesomething) {
donesomething = B_FALSE;
- [+] "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
if (strcasestarts(p, "your ")) {
p += strlen("your ");
donesomething = B_TRUE;
}
- [+] if you cancel a limited wish, don't age you. - [+] sourges shouldn't learn spells from books - [+] MR doesn't affect canwill spells? - [+] innate MR (ie. fromrace or from scource) doesn't affect spells either. - [+] too many potions of water! made it common rather than frequent. now NO frequent potions. - [+] getting 'wake t someone runmmaging through your pack' when noone nearby - [+] maybe this flag isn't gettginre removed properly? - [+] polymorph should fix injuries first * [+] for missing hand injuries, select the hand AFTER main switch() * [+] shouldn't be able to weild 2-handed weapons if you only have 1 hand!!! - [+] "travel" spell should let you go to RT_HABITAT things. - [+] fix crash validating f_spotted flag - [+] don't always put "The " on unique objects. - [+] use F_THE for this instead. - [+] godstones should still have F_THE - [+] don't place staircases inside MAINTAINEDGE vaults!! - [+] burning a wood floor only makes a hole in the ground if there are more levels underneath! - [+] end of caves: - [+] both bossrooms should have goblin king and red wyrmling - [+] stone key. - [+] need a vault flag which say s: add f_stayinroom to everyone who is created in this room - [+] done: "keepmonsinroom" - [+] cope with a branch's entry stairs coming from a vault - [+] killing unique monsters with necrotic damage should still leave a corpse. - [+] make "ornate chest" which has rare objects - [+] put it in branch endings and make it a rare object - [+] f_extrainfo in fireat() should show damage _after_ adjustment - [+] BUG: swamp rooms aren't connected!!!! - [+] end of forest branch: - [+] vault containing baba yaga's hut - [+] bone fence around it - [+] skeletons - [+] the hut. - [+] baba yaga's hut - [+] cabin on chicken legs - [+] f_timid! - [+] jump - [+] claw attacks - [+] walks around - [+] corpsetype = link to inside the hut - [+] made of dragonwood (ie. hardness 5) - [+] Don't say "You kill the walking hut". - [+] text when it dies: "Exhausted, the hut slumps to the ground." - [+] inside the hut = small level with baba yaga - [+] new regiontype: babayaga's hut - [+] new habitat: byhut - [+] making the habitat: only has a single vault. (one with tag 'byhut') - [+] diff layouts - [+] circular - [+] square - [+] baba yaga herself - [+] baba yaga - [+] weighs 50kg - [+] obs: - [+] key! - [+] hp: 135 = 22 hitdice (d6) - [+] 75% magic resistance - [+] attribs - [+] str: exhigh - [+] iq: exhigh - [+] wis: exhigh - [+] agi: average - [+] con: high - [+] cha: exlow - [+] fire, cold, magic, poison resist - [+] immune to necrotic - [+] abilities - [+] seeinvis - [+] awareness - [+] claw/teeth attacks. - [+] claw = 8 DR - [+] teeth = 6 DR - [+] maxattacks = 2 - [+] grab ability - [+] spells?????? - [+] fear - [+] weaken - [+] summon insects/animals - [+] entangle - [+] blink - [+] when she dies, unlock the hut door. - [+] delving code. - [+] new digging code: - [+] delve() - [+] delve_pullcell - [+] etc - [+] h_antnest - [+] creaetantnest calls delve() functions. - [+] insert this in the main dungeon somewhere - [+] populate with monsters (set rarity) - [+] place queen ant on the map. - [+] via new regionthing type RT_LF - [+] branch ends should have a boss with a key! - [+] jimbo - [+] babayaga - [+] cave boss (dragon ?)
2012-04-04 19:59:48 +10:00
if (strcasestarts(p, "the ")) {
p += strlen("the ");
donesomething = B_TRUE;
}
if (strcasestarts(p, "an ")) {
p += strlen("an ");
donesomething = B_TRUE;
}
if (strcasestarts(p, "a ")) {
p += strlen("a ");
donesomething = B_TRUE;
}
if (isdigit(*p)) {
// skip to after the first space
while (isdigit(*p) || (*p == ' ')) {
p++;
}
donesomething = B_TRUE;
}
2011-02-01 06:16:13 +11:00
}
- [+] if you cancel a limited wish, don't age you. - [+] sourges shouldn't learn spells from books - [+] MR doesn't affect canwill spells? - [+] innate MR (ie. fromrace or from scource) doesn't affect spells either. - [+] too many potions of water! made it common rather than frequent. now NO frequent potions. - [+] getting 'wake t someone runmmaging through your pack' when noone nearby - [+] maybe this flag isn't gettginre removed properly? - [+] polymorph should fix injuries first * [+] for missing hand injuries, select the hand AFTER main switch() * [+] shouldn't be able to weild 2-handed weapons if you only have 1 hand!!! - [+] "travel" spell should let you go to RT_HABITAT things. - [+] fix crash validating f_spotted flag - [+] don't always put "The " on unique objects. - [+] use F_THE for this instead. - [+] godstones should still have F_THE - [+] don't place staircases inside MAINTAINEDGE vaults!! - [+] burning a wood floor only makes a hole in the ground if there are more levels underneath! - [+] end of caves: - [+] both bossrooms should have goblin king and red wyrmling - [+] stone key. - [+] need a vault flag which say s: add f_stayinroom to everyone who is created in this room - [+] done: "keepmonsinroom" - [+] cope with a branch's entry stairs coming from a vault - [+] killing unique monsters with necrotic damage should still leave a corpse. - [+] make "ornate chest" which has rare objects - [+] put it in branch endings and make it a rare object - [+] f_extrainfo in fireat() should show damage _after_ adjustment - [+] BUG: swamp rooms aren't connected!!!! - [+] end of forest branch: - [+] vault containing baba yaga's hut - [+] bone fence around it - [+] skeletons - [+] the hut. - [+] baba yaga's hut - [+] cabin on chicken legs - [+] f_timid! - [+] jump - [+] claw attacks - [+] walks around - [+] corpsetype = link to inside the hut - [+] made of dragonwood (ie. hardness 5) - [+] Don't say "You kill the walking hut". - [+] text when it dies: "Exhausted, the hut slumps to the ground." - [+] inside the hut = small level with baba yaga - [+] new regiontype: babayaga's hut - [+] new habitat: byhut - [+] making the habitat: only has a single vault. (one with tag 'byhut') - [+] diff layouts - [+] circular - [+] square - [+] baba yaga herself - [+] baba yaga - [+] weighs 50kg - [+] obs: - [+] key! - [+] hp: 135 = 22 hitdice (d6) - [+] 75% magic resistance - [+] attribs - [+] str: exhigh - [+] iq: exhigh - [+] wis: exhigh - [+] agi: average - [+] con: high - [+] cha: exlow - [+] fire, cold, magic, poison resist - [+] immune to necrotic - [+] abilities - [+] seeinvis - [+] awareness - [+] claw/teeth attacks. - [+] claw = 8 DR - [+] teeth = 6 DR - [+] maxattacks = 2 - [+] grab ability - [+] spells?????? - [+] fear - [+] weaken - [+] summon insects/animals - [+] entangle - [+] blink - [+] when she dies, unlock the hut door. - [+] delving code. - [+] new digging code: - [+] delve() - [+] delve_pullcell - [+] etc - [+] h_antnest - [+] creaetantnest calls delve() functions. - [+] insert this in the main dungeon somewhere - [+] populate with monsters (set rarity) - [+] place queen ant on the map. - [+] via new regionthing type RT_LF - [+] branch ends should have a boss with a key! - [+] jimbo - [+] babayaga - [+] cave boss (dragon ?)
2012-04-04 19:59:48 +10:00
return p;
2011-02-01 06:16:13 +11:00
}
2011-03-16 15:45:46 +11:00
char *numtotext(int num, char *buf) {
switch (num) {
case 1:
snprintf(buf, BUFLEN, "a");
2011-03-16 15:45:46 +11:00
break;
case 2:
snprintf(buf, BUFLEN, "two");
2011-03-16 15:45:46 +11:00
break;
case 3:
snprintf(buf, BUFLEN, "three");
2011-03-16 15:45:46 +11:00
break;
case 4:
snprintf(buf, BUFLEN, "four");
2011-03-16 15:45:46 +11:00
break;
case 5:
snprintf(buf, BUFLEN, "five");
2011-03-16 15:45:46 +11:00
break;
case 6:
snprintf(buf, BUFLEN, "six");
2011-03-16 15:45:46 +11:00
break;
case 7:
snprintf(buf, BUFLEN, "seven");
2011-03-16 15:45:46 +11:00
break;
case 8:
snprintf(buf, BUFLEN, "eight");
2011-03-16 15:45:46 +11:00
break;
case 9:
snprintf(buf, BUFLEN, "nine");
2011-03-16 15:45:46 +11:00
break;
case 10:
snprintf(buf, BUFLEN, "ten");
2011-03-16 15:45:46 +11:00
break;
case 11:
snprintf(buf, BUFLEN, "eleven");
break;
case 12:
snprintf(buf, BUFLEN, "twelve");
break;
case 13:
snprintf(buf, BUFLEN, "thirteen");
break;
case 14:
snprintf(buf, BUFLEN, "fourteen");
break;
case 15:
snprintf(buf, BUFLEN, "fifteen");
break;
case 16:
snprintf(buf, BUFLEN, "sixteen");
break;
case 17:
snprintf(buf, BUFLEN, "seventeen");
break;
case 18:
snprintf(buf, BUFLEN, "eighteen");
break;
case 19:
snprintf(buf, BUFLEN, "nineteen");
break;
case 20:
snprintf(buf, BUFLEN, "twenty");
break;
2011-03-16 15:45:46 +11:00
default:
snprintf(buf, BUFLEN, "%d",num);
2011-03-16 15:45:46 +11:00
break;
}
return buf;
}
VAULTS * [+] vaiultlegend_t * [+] vaultdef_t - [+] implement addlegend() - [+] implement addvault() - [+] function to read in a vault from a data file - [+] vs_noid - [+] vs_loadingmap - [+] vs_loadinglegend - [+] vs_loadingflags - [+] vs_loading - [+] load all vaultdefs in at start - [+] change createroom to calculate the posistion - [+] for each room, give a %chance of haivng a vault. (based on habitat?) * [+] createvault(map_t, roomid?, char *vaultid) - [+] mapdata with letters * [+] MSG up vault errors on load. - [+] Select job _before_ generating first map. * [+] make addob() handle door flags: * [+] addob() improvements * [+] wish bug: first object goes in pack, rest on ground. - [+] genericise getroomedge() - [+] finish 'autodoors' (at the end, add doors if none already done) - [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x, v1=y, v2=pct text=what * [+] "what" can be: * [+] scatter:y1:x2:y2:what:chance%:howmany * [+] some way to make the @map bit just say 'random room at least 2x4' - [+] make "scatter" able to take range instead of count. - [+] make "scatter"able to take x% instead of count. - [+] upsidedown chars no longer working with winch() - [+] ensure no DUPE ids - [+] make legend take percentages (optional) - [+] make "at" take negative values... OPTIONS - [+] autodoors - put doors on edges like with normal dungeon rooms. * [+] autopop - fill with obs/monsters like normal rooms VAULT FILES - [+] flooded room - [+] labyrinth - [+] vault (lots of money, locked secret doors) - [+] monster zoos (money and monsters) - [+] diningroom - lots of tables and chairs - [+] circleroom - [+] pillared room - [+] glass pillared room - [+] cockatrice lair (statues) - [+] traproom - need "random trap". need OC_TRAP. - [+] BUG: piranhas walking out of water sometimes....... - [+] add startatt x-y rather than just a bracket. use text field. - [+] make teleport auto move away form lfs - [+] add minotaur
2011-06-02 18:34:44 +10:00
// returns posiiton AFTER end of copied text, or NULL on failure.
char *readuntil(char *retbuf, char *src, char delim) {
char *bp,*p;
bp = retbuf;
for (p=src; *p && (*p != delim); p++) {
*bp = *p;
bp++;
}
*bp = '\0'; // nul-terminate buffer
if (*p == delim) {
p++; // go past delimiter
}
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
return p;
}
2011-03-16 15:45:46 +11:00
// convert number to roman numerals
// only copes with 1-10
char *roman(int num) {
switch (num) {
case 1:
return "I";
case 2:
return "II";
case 3:
return "III";
case 4:
return "IV";
case 5:
return "V";
case 6:
return "VI";
case 7:
return "VII";
case 8:
return "VIII";
case 9:
return "IX";
case 10:
return "X";
}
return "";
}
* [+] bug: secret doors revealed when we walk away from them. - [+] make lamps last heaps longer * [+] web spell * [+] spider monstrer * [+] funnelweb: * [+] redback: - [+] if you are wracked with pain, don't clear msg - [+] check rarity for spiders * [+] attack/defense mod if there is stickiness in your square - [+] replace "sticky" with "restrictive" * [+] make some mosnters start hidden - [+] adjust spot checks basd on distance - [+] ensure that attacking stops you hiding - [+] casting spells stops you from being hidden - [+] hidden mosnters shouldn't move unless their victim is ADJACENT. - [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless their victim is ADJACENT. - [-] XP CALC - [+] funnelweb and redback are the same. - [+] check this is right...... i want funnel web to be worse. - [+] make hitconfer check in calcxpval take lifetime into account - [+] ALSO assign an xp rating to each hitconferred flag. - [+] hardcode this. * [+] entangle spell - [+] reveal secret doors if you see them get damaged. * [+] make askcoords list restrivitce objects - [+] ACTUALLY make vines not damaged by struggling * [+] object descriptions, a/an needs to change if showing condition: "a battered entangling vine" - [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't happen! - [+] The human diety reads a blessed scroll of create monster! -- but nothing happens?? * [+] throw code - [+] wizard: ask for school specialty at start, from: fire, ice, xxx ? You get this + WILD. - [+] describe varpower spells - [+] fix mp cost for varpower spells - [+] we're not stopping running at staircases anymore for some reason. - [+] CHARGE ability (like swoop but don't return to original positino) - [+] need to honor f_canlearn when displaying new skills to learn! - [+] ai: if we are going to player's last known loc (via targetcell), abandon if we can SEE the player! - [+] make shatter() into a function - [+] oil potion makes oil puddle whan smashed - [+] make flammable objects be able to convert to others - [+] replace 'magic item usage' with 'channeling' - [+] a cloud of darkness descends. this is a *cursed* wand of light. - [+] spiders shouldn't be able to be stuck in a web! * [+] spells should be able to have MULTIPLE schools. - [+] don't bleed into walls - [+] in @M, use colours to show which spells are too hard so far (ie cost > maxmp) * [+] in @M, use schools that you know * [+] after loading game, barbarian is getting an extra attack? You miss the eyebat. You punch the eyebat. - [+] show objects on top of stairs - [+] stuck mosnters must pass a saving throw to follow you up/down stairs - [+] genericise: trytomove(lf) * [+] add more snakes - [+] undead can't eat or drink? or MOST undead can't. * [+] why can MONSTERS shoot webs through things? (but I can't) - [+] barkskin - doesn't reduce max mp enough? - [+] The skeleton touches a fuming aqua potion [tried] then recoils in pain! The skeleton drops a blessed fuming aqua potion [tried]. The skeleton drinks a fuming aqua potion! - [+] why can't i use abilites anymore? - [+] infinite loop bug due to ai only having one ignorecell. - [+] make sleet storms rust all armour - [+] make a kind of walkdam that hits armour - [+] add this as well as walkdam for: acid, fire, water - [+] Takeoff isn't prompting properly. only showing weapons! * [+] waterproof obs (ie cloak) * [+] walkdambp doesn't hurt body if you have a cloak NATURE SPELLS: - [+] mending, heals 1d6 damage - [+] spark - [+] purify food - [+] sticks to snakes - [+] calm animals (power_d4 hd) * [+] charm animal (works on one animal up to power hit dice, temporary) - [+] airblast - [+] barkskin (power +2 AR, firevuln, ongoing) - [+] soften earth (makes ground into mud) - [+] warp wood (damages wooden objects) - [+] repel insects - [+] reduce poison - [+] web - [+] windshield - [+] call lightning, air - [+] resist elements, ongoing - [+] passwall - [+] poisonbolt - [+] quench (puts out a fire) - [+] sleet storm (lowers movement, vision) - [+] healing - [+] cure poison * [+] calming scent - [+] dig - [+] entangle - [+] levitate - [+] flamepillar - [+] hailstorm. like sleetstorm but hurts more. power d 6. - [+] burning wave - [+] gaseous form * [+] knowledge skills: * [+] force makespellchoicelist() to show spells in level order. * [+] druid - [+] check OBJECT rarity list (dumplev) - [+] fix bug where heaps of books suddently appear from dlev 3 onwards - [+] gain skills on level up for some jobs - [+] f_levspellschool, v0=lev, v1 = school or ANY - select one from that school
2011-04-23 14:27:42 +10:00
int speedtokph(int speed) {
* [+] make vending machines use this container code instead. - [+] don't say "you see a few things" if one of them is footsteps * [+] IFMONSTER code failing....because flags are now SORTED!!! - [+] tumble - askcoords is letting us pick a cell we don't have lof to. * [+] assign a name to lfs once you hire them * [+] coloured msgtext - [+] make min dam reduction from AR be AR/5. - [+] safebox - [+] if intelligent, prompt before walking into RESTRICTMOVEMENT with no getsweaker (val1) * [+] make fire / ice damage mor elike netheck - [+] towns should have gates on EVERY side - [+] forest cells outside town gates need to be CLEARED. (maybe turn to dirt) - [+] fix up knock targetting to include magical barriers - [+] say "open a bag?" not "operate a bag?" * [+] implement immunetodisease - [+] sort known skills in @s. - [+] better damage bonus when attacking someone who is asleep - [+] practive firearms/throwing * [+] need objecttype->size * [+] containers * [+] change guns so you have to reload them. ("operate") - [+] crash when loading map with water - [+] SAVE OBJECT CONTENTSk - [+] monsters with jobs aren't getting start items - [+] shopkeeper has shotgun - [+] bug: monster keeps swapping between shotgun and flail - [+] when hiring, remember failure. * [+] Inn - [+] bug: pets fighting!!! then they all turn on you. never make allies get angry unless the attacker is the player * [+] hiring npcs - [+] chat to pet: "stay close" or "keep your distance" - [+] new 'furniture' obclass - [+] allow for 'randomshop' regiontype * [+] add enchantment school - [+] cast a scroll of mending on itself. CRASH. * [+] lessengravity should make you jump better and get knocked back further - [+] boostgrav/lessengrav cancel out each other. * [+] CRASH when you fall down a hole and die. - [+] problem: master gravitation doesn't let us cast levitat. getspellschoolknown() should return the HIGHEST known skill, not the first. * [+] bug: dregion is null?!??! * [+] dig a pit, if you cleared out land below, you just stay down there. - [+] potion of leveitation - [+] warning msg when levitate is about to expire * [+] if you fall upwards to the surface... * [+] if you are ever on the surface while levitating.... - [+] BUG: cna't go up stairs to surface anymore!!!!! - [+] get hungry LOTS more quickly when you start sprinting * [+] monk slow metabolism psionic pell. - [+] fix buf with lore giving LESS accuracy instead of more. - [+] food shop - [+] wand of digging not identified if you dig upwards * [+] when you make ah ole in the roof, objects above should fall through right away * [+] all towns should have: - [+] give monks more psionics spells. - [+] sk_throwing skill - [+] make calm animals use spellpower * [+] add wisdom * [+] need to save region data along with maps * [+] COMBINE armour evasion and accuracy penalty!!! * [+] make armour reduce accuracy as well (unless you have 'armour' skill) - [+] landmine trap * [+] make friendly monsters of same raceclass swap ammo - [+] rename 'pull' to 'suck' to avoid confusion with pull metal * [+] food to fix blindness - [+] potion of coffee * [+] genericise statbrackets * [+] tumble ability * [+] simplify spell power * [+] shopkeeprs should be allowed to pursue targets outside of the shop. - [+] give shopkeepers a shotgun * [+] make F_RNDHOSTILE be able to ahve a random chance. * [+] if you randomly generate food in a shop, still give it a price. - [+] if peaceful humanoid walks into you, "sorry!" - [+] sayphrase(lf, SP_SORRY, vol) - [+] only let you recruit jobs with j_recruitable - [+] CRASH - summon "monk" - [+] dogs, - [+] chickens, - [+] drunks, * [+] village objects - [+] change armourrating AGAIN. instead of a percentage, make it a number. - [+] rename inn to "pub", since you can't sleep there. * [+] random speech code * [+] genericise sayphrase text based on lf's job * [+] monks - add rest of abliities - [+] add fiengdeath ability to some monsters
2011-07-14 07:40:28 +10:00
return speed * speed;
* [+] bug: secret doors revealed when we walk away from them. - [+] make lamps last heaps longer * [+] web spell * [+] spider monstrer * [+] funnelweb: * [+] redback: - [+] if you are wracked with pain, don't clear msg - [+] check rarity for spiders * [+] attack/defense mod if there is stickiness in your square - [+] replace "sticky" with "restrictive" * [+] make some mosnters start hidden - [+] adjust spot checks basd on distance - [+] ensure that attacking stops you hiding - [+] casting spells stops you from being hidden - [+] hidden mosnters shouldn't move unless their victim is ADJACENT. - [+] hidden mosnters shouldn't cast spells, throw missiles, etc unless their victim is ADJACENT. - [-] XP CALC - [+] funnelweb and redback are the same. - [+] check this is right...... i want funnel web to be worse. - [+] make hitconfer check in calcxpval take lifetime into account - [+] ALSO assign an xp rating to each hitconferred flag. - [+] hardcode this. * [+] entangle spell - [+] reveal secret doors if you see them get damaged. * [+] make askcoords list restrivitce objects - [+] ACTUALLY make vines not damaged by struggling * [+] object descriptions, a/an needs to change if showing condition: "a battered entangling vine" - [+] wizard levelled up and was prompted for "WISH, GIFT"! shouldn't happen! - [+] The human diety reads a blessed scroll of create monster! -- but nothing happens?? * [+] throw code - [+] wizard: ask for school specialty at start, from: fire, ice, xxx ? You get this + WILD. - [+] describe varpower spells - [+] fix mp cost for varpower spells - [+] we're not stopping running at staircases anymore for some reason. - [+] CHARGE ability (like swoop but don't return to original positino) - [+] need to honor f_canlearn when displaying new skills to learn! - [+] ai: if we are going to player's last known loc (via targetcell), abandon if we can SEE the player! - [+] make shatter() into a function - [+] oil potion makes oil puddle whan smashed - [+] make flammable objects be able to convert to others - [+] replace 'magic item usage' with 'channeling' - [+] a cloud of darkness descends. this is a *cursed* wand of light. - [+] spiders shouldn't be able to be stuck in a web! * [+] spells should be able to have MULTIPLE schools. - [+] don't bleed into walls - [+] in @M, use colours to show which spells are too hard so far (ie cost > maxmp) * [+] in @M, use schools that you know * [+] after loading game, barbarian is getting an extra attack? You miss the eyebat. You punch the eyebat. - [+] show objects on top of stairs - [+] stuck mosnters must pass a saving throw to follow you up/down stairs - [+] genericise: trytomove(lf) * [+] add more snakes - [+] undead can't eat or drink? or MOST undead can't. * [+] why can MONSTERS shoot webs through things? (but I can't) - [+] barkskin - doesn't reduce max mp enough? - [+] The skeleton touches a fuming aqua potion [tried] then recoils in pain! The skeleton drops a blessed fuming aqua potion [tried]. The skeleton drinks a fuming aqua potion! - [+] why can't i use abilites anymore? - [+] infinite loop bug due to ai only having one ignorecell. - [+] make sleet storms rust all armour - [+] make a kind of walkdam that hits armour - [+] add this as well as walkdam for: acid, fire, water - [+] Takeoff isn't prompting properly. only showing weapons! * [+] waterproof obs (ie cloak) * [+] walkdambp doesn't hurt body if you have a cloak NATURE SPELLS: - [+] mending, heals 1d6 damage - [+] spark - [+] purify food - [+] sticks to snakes - [+] calm animals (power_d4 hd) * [+] charm animal (works on one animal up to power hit dice, temporary) - [+] airblast - [+] barkskin (power +2 AR, firevuln, ongoing) - [+] soften earth (makes ground into mud) - [+] warp wood (damages wooden objects) - [+] repel insects - [+] reduce poison - [+] web - [+] windshield - [+] call lightning, air - [+] resist elements, ongoing - [+] passwall - [+] poisonbolt - [+] quench (puts out a fire) - [+] sleet storm (lowers movement, vision) - [+] healing - [+] cure poison * [+] calming scent - [+] dig - [+] entangle - [+] levitate - [+] flamepillar - [+] hailstorm. like sleetstorm but hurts more. power d 6. - [+] burning wave - [+] gaseous form * [+] knowledge skills: * [+] force makespellchoicelist() to show spells in level order. * [+] druid - [+] check OBJECT rarity list (dumplev) - [+] fix bug where heaps of books suddently appear from dlev 3 onwards - [+] gain skills on level up for some jobs - [+] f_levspellschool, v0=lev, v1 = school or ANY - select one from that school
2011-04-23 14:27:42 +10:00
}
2011-02-01 06:16:13 +11:00
void splittime(int *hours, int *mins, int *secs) {
long left;
left = curtime;
*hours = left / 3600;
left -= (*hours * 3600);
*mins = left / 60;
left -= (*mins * 60);
*secs = left;
}
char *strrep(char *text, char *oldtok, char *newtok, int *rv) {
2010-12-07 18:34:26 +11:00
char *temp;
2011-02-01 06:16:13 +11:00
temp = strdup(" "); // ooooooo is this bad??
dostrrep(text, &temp, oldtok, newtok, rv);
2010-12-07 18:34:26 +11:00
// swap
2011-02-01 06:16:13 +11:00
text = realloc(text, strlen(temp)+1); // extra space for NUL
2010-12-07 18:34:26 +11:00
strcpy(text, temp);
free(temp);
2011-02-01 06:16:13 +11:00
return text;
2010-12-07 18:34:26 +11:00
}
// returns TRUE if any replacements made
2011-02-01 06:16:13 +11:00
char *dostrrep(char* in, char** out, char* oldtok, char* newtok, int *rv) {
2010-12-07 18:34:26 +11:00
char *temp;
char *found = strstr(in, oldtok);
int idx;
if(!found) {
2011-02-01 06:16:13 +11:00
*out = realloc(*out, strlen(in) + 1); // oooooooo crashing in realloc
2010-12-07 18:34:26 +11:00
strcpy(*out, in);
2011-02-01 06:16:13 +11:00
if (rv) *rv = B_FALSE;
return *out;
2010-12-07 18:34:26 +11:00
}
idx = found - in;
*out = realloc(*out, strlen(in) - strlen(oldtok) + strlen(newtok) + 1);
strncpy(*out, in, idx);
strcpy(*out + idx, newtok);
strcpy(*out + idx + strlen(newtok), in + idx + strlen(oldtok));
temp = malloc(idx+strlen(newtok)+1);
strncpy(temp,*out,idx+strlen(newtok));
temp[idx + strlen(newtok)] = '\0';
2011-02-01 06:16:13 +11:00
dostrrep(found + strlen(oldtok), out, oldtok, newtok, rv);
2010-12-07 18:34:26 +11:00
temp = realloc(temp, strlen(temp) + strlen(*out) + 1);
strcat(temp,*out);
free(*out);
*out = temp;
2011-02-01 06:16:13 +11:00
if (rv) *rv = B_TRUE;
return *out;
2010-12-07 18:34:26 +11:00
}
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
int streq(char *a, char *b) {
if (!a || !b) return B_FALSE;
return !strcmp(a,b);
}
- [+] 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
char *strends(char *a, char *suffix) {
char *ep;
if (!a || !suffix) return NULL;
ep = strstr(a, suffix);
if (ep) {
if ((ep - a) + strlen(ep) == strlen(a)) {
return ep;
}
}
return NULL;
}
material_t *strmatchesmaterial(char *p) {
material_t *m;
char searchfor[BUFLEN];
for (m = material ; m ; m = m->next) {
sprintf(searchfor, "%s ", m->name);
if (strstarts(p, searchfor)) return m;
}
return NULL;
}
- [+] if you cancel a limited wish, don't age you. - [+] sourges shouldn't learn spells from books - [+] MR doesn't affect canwill spells? - [+] innate MR (ie. fromrace or from scource) doesn't affect spells either. - [+] too many potions of water! made it common rather than frequent. now NO frequent potions. - [+] getting 'wake t someone runmmaging through your pack' when noone nearby - [+] maybe this flag isn't gettginre removed properly? - [+] polymorph should fix injuries first * [+] for missing hand injuries, select the hand AFTER main switch() * [+] shouldn't be able to weild 2-handed weapons if you only have 1 hand!!! - [+] "travel" spell should let you go to RT_HABITAT things. - [+] fix crash validating f_spotted flag - [+] don't always put "The " on unique objects. - [+] use F_THE for this instead. - [+] godstones should still have F_THE - [+] don't place staircases inside MAINTAINEDGE vaults!! - [+] burning a wood floor only makes a hole in the ground if there are more levels underneath! - [+] end of caves: - [+] both bossrooms should have goblin king and red wyrmling - [+] stone key. - [+] need a vault flag which say s: add f_stayinroom to everyone who is created in this room - [+] done: "keepmonsinroom" - [+] cope with a branch's entry stairs coming from a vault - [+] killing unique monsters with necrotic damage should still leave a corpse. - [+] make "ornate chest" which has rare objects - [+] put it in branch endings and make it a rare object - [+] f_extrainfo in fireat() should show damage _after_ adjustment - [+] BUG: swamp rooms aren't connected!!!! - [+] end of forest branch: - [+] vault containing baba yaga's hut - [+] bone fence around it - [+] skeletons - [+] the hut. - [+] baba yaga's hut - [+] cabin on chicken legs - [+] f_timid! - [+] jump - [+] claw attacks - [+] walks around - [+] corpsetype = link to inside the hut - [+] made of dragonwood (ie. hardness 5) - [+] Don't say "You kill the walking hut". - [+] text when it dies: "Exhausted, the hut slumps to the ground." - [+] inside the hut = small level with baba yaga - [+] new regiontype: babayaga's hut - [+] new habitat: byhut - [+] making the habitat: only has a single vault. (one with tag 'byhut') - [+] diff layouts - [+] circular - [+] square - [+] baba yaga herself - [+] baba yaga - [+] weighs 50kg - [+] obs: - [+] key! - [+] hp: 135 = 22 hitdice (d6) - [+] 75% magic resistance - [+] attribs - [+] str: exhigh - [+] iq: exhigh - [+] wis: exhigh - [+] agi: average - [+] con: high - [+] cha: exlow - [+] fire, cold, magic, poison resist - [+] immune to necrotic - [+] abilities - [+] seeinvis - [+] awareness - [+] claw/teeth attacks. - [+] claw = 8 DR - [+] teeth = 6 DR - [+] maxattacks = 2 - [+] grab ability - [+] spells?????? - [+] fear - [+] weaken - [+] summon insects/animals - [+] entangle - [+] blink - [+] when she dies, unlock the hut door. - [+] delving code. - [+] new digging code: - [+] delve() - [+] delve_pullcell - [+] etc - [+] h_antnest - [+] creaetantnest calls delve() functions. - [+] insert this in the main dungeon somewhere - [+] populate with monsters (set rarity) - [+] place queen ant on the map. - [+] via new regionthing type RT_LF - [+] branch ends should have a boss with a key! - [+] jimbo - [+] babayaga - [+] cave boss (dragon ?)
2012-04-04 19:59:48 +10:00
char *strcasestarts(char *a, char *prefix) {
if (!a || !prefix) return NULL;
if (strcasestr(a, prefix) == a) {
return a;
}
return NULL;
}
VAULTS * [+] vaiultlegend_t * [+] vaultdef_t - [+] implement addlegend() - [+] implement addvault() - [+] function to read in a vault from a data file - [+] vs_noid - [+] vs_loadingmap - [+] vs_loadinglegend - [+] vs_loadingflags - [+] vs_loading - [+] load all vaultdefs in at start - [+] change createroom to calculate the posistion - [+] for each room, give a %chance of haivng a vault. (based on habitat?) * [+] createvault(map_t, roomid?, char *vaultid) - [+] mapdata with letters * [+] MSG up vault errors on load. - [+] Select job _before_ generating first map. * [+] make addob() handle door flags: * [+] addob() improvements * [+] wish bug: first object goes in pack, rest on ground. - [+] genericise getroomedge() - [+] finish 'autodoors' (at the end, add doors if none already done) - [+] at(x,y):type:what:pct -> f_vaultob / vaultlf / vaultcell, v0=x, v1=y, v2=pct text=what * [+] "what" can be: * [+] scatter:y1:x2:y2:what:chance%:howmany * [+] some way to make the @map bit just say 'random room at least 2x4' - [+] make "scatter" able to take range instead of count. - [+] make "scatter"able to take x% instead of count. - [+] upsidedown chars no longer working with winch() - [+] ensure no DUPE ids - [+] make legend take percentages (optional) - [+] make "at" take negative values... OPTIONS - [+] autodoors - put doors on edges like with normal dungeon rooms. * [+] autopop - fill with obs/monsters like normal rooms VAULT FILES - [+] flooded room - [+] labyrinth - [+] vault (lots of money, locked secret doors) - [+] monster zoos (money and monsters) - [+] diningroom - lots of tables and chairs - [+] circleroom - [+] pillared room - [+] glass pillared room - [+] cockatrice lair (statues) - [+] traproom - need "random trap". need OC_TRAP. - [+] BUG: piranhas walking out of water sometimes....... - [+] add startatt x-y rather than just a bracket. use text field. - [+] make teleport auto move away form lfs - [+] add minotaur
2011-06-02 18:34:44 +10:00
char *strstarts(char *a, char *prefix) {
if (!a || !prefix) return NULL;
if (strstr(a, prefix) == a) {
return a;
}
return NULL;
}
int strlen_without_colours(char *buf) {
char *p;
int len = 0;
enum {
S_NORM,
S_COLOURDEF,
S_COLOURDEFNUM,
} state = S_NORM;
for (p = buf ; *p; p++) {
if (state == S_NORM) {
if (*p == '^') {
state = S_COLOURDEF;
} else {
len++;
}
} else if (state == S_COLOURDEF) {
if (isdigit(*p)) {
state = S_COLOURDEFNUM;
} else {
state = S_NORM;
}
} else { // ie. colourdefnum
if (!isdigit(*p)) {
state = S_NORM;
len++;
}
}
}
return len;
}
2011-02-01 06:16:13 +11:00
int strpixmatch(char *haystack, char *needle) {
int matched = B_FALSE;
char *hword, *nword, *hcont,*ncont;
2010-12-07 18:34:26 +11:00
2011-02-01 06:16:13 +11:00
if (strchr(needle, ' ') || strchr(haystack, ' ')) {
char lochaystack[BUFLEN], locneedle[BUFLEN];
strcpy(lochaystack, haystack);
strcpy(locneedle, needle);
// match word for word
nword = strtok_r(locneedle, " ", &ncont);
hword = strtok_r(lochaystack, " ", &hcont);
while (nword && hword) {
// all typed words must match
if (strcasestr(hword, nword)) {
matched = B_TRUE;
} else {
matched = B_FALSE;
break;
}
nword = strtok_r(NULL, " ", &ncont);
hword = strtok_r(NULL, " ", &hcont);
if (nword && !hword) {
matched = B_FALSE;
}
}
/*
if (!matched && !strchr(needle, ' ')) {
// now try matching typed word against second word in spellname
strcpy(lochaystack, haystack);
hword = strtok_r(lochaystack, " ", &hcont);
while (hword) {
if (strcasestr(hword, needle)) {
matched = B_TRUE;
break;
} else {
matched = B_FALSE;
}
hword = strtok_r(NULL, " ", &hcont);
if (!hword) {
matched = B_FALSE;
}
}
}
*/
} else {
if (strcasestr(haystack, needle)) {
matched = B_TRUE;
}
}
return matched;
}
2011-03-10 16:47:18 +11:00
int texttodice(char *text, int *ndice, int *nsides, int *bonus) {
char *dummy;
char *localtext;
* [+] 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
char *p,*plusloc;
2011-03-10 16:47:18 +11:00
localtext = strdup(text);
// number of dice
if (strchr(localtext, 'd')) {
- [+] 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
p = strtok_r(localtext, "d", &dummy);
} else {
// assume it's just a single number
*ndice = 0;
*nsides = 0;
*bonus = atoi(text);
free(localtext);
return B_FALSE;
2011-03-10 16:47:18 +11:00
}
if (ndice) {
*ndice = atoi(p);
}
// sides on each die
p = strtok_r(NULL, "d", &dummy);
if (!p) {
- [+] 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
free(localtext);
2011-03-10 16:47:18 +11:00
return B_TRUE;
}
* [+] goblins aren't opening doors... - [+] xat shouldn't be able to open doors! - [+] semicontrolled createmonster * [+] implement semicontrolled teleport (can pick the general direction) * [+] change how semicontrolled teleport works - [+] make identify/remove curse more common - [+] make minorheal/heal more common * [+] NOTDONE. maybe reduce the amount of damage which AR blocks a bit? i got to 30ar very fast! (ie -45% dam) * [+] make a special case for F_FLAKJACKET - [+] BUG: glowbug is causing PERMENANT light, not temp! - [+] diety ability - levelup - [+] new damtype: necrotic - [+] drain life spell - [+] make water evaporate - [+] BUG in validating target cell. was asking a monster for input * [+] boots get wet if you walk in water - [+] why does oil lamp and pil lantern make the same range of light? - [+] fixed another vending maching crash - [+] crash due to sprinting? - [+] 2 blessed flask of battery acids - [+] "This is a wand!" - don't use code for hiding names in the dark! * [+] animals shouldn't eat their own race! - [+] gem of seeing costs nothing! - [+] frozen weapons do +1d4 cold damage - [+] allomancy/psionics don't need spellcasting - [+] poison isn't being announced on mosnters? - [+] "you are full" only interrupt if we went < normal (ie peckish starving etc) - [+] only F_HUMANOID creatures can wear armour / use weapons * [+] what does a masterwork bow do? - [+] implement strength requirements on weapons - [+] UNDEAD cannot be poisoned by eating corpses! - [+] ai lfs shoudlnt' eat tainted food - [+] change how gravboost works wrt movement - [+] smart ai lfs shouldnt move when in pain - [+] don't stop walking if the only things there are non-pickupable - [+] make mosnters swap places with each other if they are the same baseid * [+] scroll of permenance - [+] make more monsters have gold * [+] can learn novice level weapon skills by using one a lot * [+] finish hawks * [+] add colour * [+] job attribs aren't working - [+] pile of ash has weird glyph! * [+] when you learn the first rank of some magic skills, you get a spell with it - [+] add colours to statbar - [+] can only "stop on xxx" if you have feet - [+] monsters shouldn't attack other to get to wanted objects. * [+] "xat throws a knife" - [+] manaspike doing no damage to giant newt - [+] assign colours to rings
2011-04-01 10:54:44 +11:00
// strip out bonus
plusloc = strchr(p, '+');
if (plusloc) *plusloc = '\0';
plusloc = strchr(p, '-');
if (plusloc) *plusloc = '\0';
2011-03-10 16:47:18 +11:00
if (nsides) {
*nsides = atoi(p);
}
* [+] 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
free(localtext);
localtext = strdup(text);
2011-03-10 16:47:18 +11:00
// bonus/plus
if (bonus) {
* [+] 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
p = strchr(localtext, '+');
2011-03-10 16:47:18 +11:00
if (p) {
* [+] 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
*bonus = atoi(p+1);
2011-03-10 16:47:18 +11:00
} else {
* [+] 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
p = strchr(localtext, '-');
if (p) {
*bonus = -(atoi(p+1));
} else {
*bonus = 0;
}
2011-03-10 16:47:18 +11:00
}
}
free(localtext);
return 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
/*
void texttospellopts(char *text, int *power, char *damstr, int *needgrab, int *range, char *racestr) {
char *p;
int n;
char *argname[] = {
"pw:",
"dam:",
"needgrab:",
* [+] 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
"range:",
- [+] 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
"race:",
NULL,
};
void *argval[] = {
power,
damstr,
needgrab,
* [+] 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
range,
- [+] 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
racestr,
NULL,
};
char argtype[] = {
'i',
's',
'b',
* [+] 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
'i',
- [+] 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
's',
'\0',
};
// defaults
if (power) *power = 0;
if (damstr) strcpy(damstr, "");
if (needgrab) *needgrab = 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 (range) *range = 0;
- [+] 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 (racestr) strcpy(racestr, "");
if (!strlen(text)) {
return;
}
// for each arg
for (n = 0; argname[n]; n++) {
// search for it in text...
for (p = text ; *p ; p++) {
if (!strncmp(p, argname[n], strlen(argname[n])) ) {
char localval[BUFLEN];
char *valfull;
strcpy(localval, p + strlen(argname[n]));
valfull = strtok(localval, ";");
if (valfull) {
if (argval[n]) {
if (argtype[n] == 'i') {
*((int *)argval[n]) = atoi(valfull);
} else if (argtype[n] == 'b') {
*((int *)argval[n]) = atoi(valfull) ? B_TRUE : B_FALSE;
} else if (argtype[n] == 's') {
strcpy((char *)argval[n], valfull);
}
}
break;
}
}
}
}
}
- [+] 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
*/
- [+] increase damage for missiles - [+] retain items on polymorph if new race has f_nopack or nobodypart for equipped stuff - [+] move obs to lf->polypack - [+] save this! - [+] fix bugs with remembering/restoring stats on polyrevert. - [+] scroll of permenance should make conferred attribute changes permenant - [+] change strength damage mod to be range -2 to 2 (instead of a percentage) - [+] corrected poison/methane gas difference. - [+] hecta gift: necromancy books - [+] damagecell() - [+] make rock walls turn to rubble ("50-100 stones") - [+] change to lore skill: incrase damage by a fixed amount, not a percentage. - [+] felix effect: evaulation (identify obs) - [+] god piety should never change once thy are ignoring you. - [+] shields should protect against crit hits - [+] hecta no longer gives unholy water? - [+] I'm able to use OT_A_SHIELDBASH with 0 stamina. - [+] CRASH during loading - [+] fixed - [+] ...but check for more.... - [+] quaff potion of fury - "you're too tired to do that right now" - [+] player was being prompted for locaiton when monster tried to wear a bandage. - [+] closing iron gates is making them opaque. - [+] only add blocksview if the objectTYPE has it. - [+] fountains of experience not drying up. - [+] looking for tracks on stairs. never finding any!! - [+] shop descriptions not working anymore. - [+] left hand got destroyed by explosion. - [+] i then wore a ring... and it went on "left finger"! - [+] all spell effects should cease just before death. - [+] crystal shield/armour shouldn't call wear() but rather just set f_equipped directly. - [+] bedrooms/kitchens should have tiled or carpet floors? - [+] tiled = less stability (especially with water!!) - [+] carpet = more stability - [+] fire skeleton - [+] firebug - [+] ice wraith - [+] winter wolf - [+] skoob (snowman) - [+] crymidia can cast crystal spells - [+] blastbug - [+] bilco - casts flood at itself. - [+] rubber-like things - [+] slug - [+] snail
2012-01-25 07:38:59 +11:00
// returns # opts filled in
int texttospellopts(char *text, ... ) {
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
char *p;
va_list args;
- [+] increase damage for missiles - [+] retain items on polymorph if new race has f_nopack or nobodypart for equipped stuff - [+] move obs to lf->polypack - [+] save this! - [+] fix bugs with remembering/restoring stats on polyrevert. - [+] scroll of permenance should make conferred attribute changes permenant - [+] change strength damage mod to be range -2 to 2 (instead of a percentage) - [+] corrected poison/methane gas difference. - [+] hecta gift: necromancy books - [+] damagecell() - [+] make rock walls turn to rubble ("50-100 stones") - [+] change to lore skill: incrase damage by a fixed amount, not a percentage. - [+] felix effect: evaulation (identify obs) - [+] god piety should never change once thy are ignoring you. - [+] shields should protect against crit hits - [+] hecta no longer gives unholy water? - [+] I'm able to use OT_A_SHIELDBASH with 0 stamina. - [+] CRASH during loading - [+] fixed - [+] ...but check for more.... - [+] quaff potion of fury - "you're too tired to do that right now" - [+] player was being prompted for locaiton when monster tried to wear a bandage. - [+] closing iron gates is making them opaque. - [+] only add blocksview if the objectTYPE has it. - [+] fountains of experience not drying up. - [+] looking for tracks on stairs. never finding any!! - [+] shop descriptions not working anymore. - [+] left hand got destroyed by explosion. - [+] i then wore a ring... and it went on "left finger"! - [+] all spell effects should cease just before death. - [+] crystal shield/armour shouldn't call wear() but rather just set f_equipped directly. - [+] bedrooms/kitchens should have tiled or carpet floors? - [+] tiled = less stability (especially with water!!) - [+] carpet = more stability - [+] fire skeleton - [+] firebug - [+] ice wraith - [+] winter wolf - [+] skoob (snowman) - [+] crymidia can cast crystal spells - [+] blastbug - [+] bilco - casts flood at itself. - [+] rubber-like things - [+] slug - [+] snail
2012-01-25 07:38:59 +11:00
int nfilled = 0;
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
char *validname[] = {
"pw:",
- [+] move pctchance for individual spells from F_AICASTTOxxx to F_AISPELLTARGETOVERRIDE v2. - [+] change code: - [+] F_AISPELLTARGETOVERRIDE v0=spellid, v1=F_AICASTTOxxx v2=TT_xxx text=pctchance or NULL. - [+] aispellok(xx, purpose) : check this _before_ checking spell->f_aicasttoxxx - [+] add spelltargetoverride for vampire - [+] add spelltargetoverride for werewolf - [+] retain F_FLEEFROM on polymorph. - [+] lycanthropes - [+] show up as "human" unless your animal/magic lore is high enough - [+] vulnerable to silver weapons - [+] Wererat (3hd, weapon damage) - [+] uses short blades - [+] stench - [+] want alcohol? - [+] transform into fast version of rat. plague rat? - [+] summon small animals. summon # override? "count:" - [+] Werewolf (4hd, 6 dam) - [+] summon wolves ? - [+] shapeshift to dire wolf - [+] regenerates - [+] firstaid skill (fast healing when resting) - [+] Werebear - [+] 6 hd - [+] shapeshift to grizzly bear - [+] summon 2-3 black bears - [+] firstaid skill (fast healing) - [+] shapeshifting monsters sometimes start as animal form - [+] if you are good/evil different alignments, mosnters should flat out refuse to join you. - [+] more different sayphrases for recruitment. - [+] when placing homelevobs, try to stick to rooms, not corridors - [+] getrandomroomcell() needs WE_xxx argument. - [+] implement cellmatchescondition(c, cond) - [+] real_getrandomadjcell() should use this too - [+] swoop ability should only work with claw attacks - [+] F_FORCEATTACKOB - [+] getweapons() needs to honour this. - [+] spell.c: check if you have the right attack type - [+] aispellok: only if you have the right attack yype - [+] horse - 2hd, brown u - [+] Hippogriff (3hd , horse/eagle, 'u') - yellow - [+] centaur (4hd, u) - grey - [+] make pegasus be cyan - [+] CATs - [+] Griffon (7hd, tr4-5, u, hates horses) - lion/eagle - yellow 'f'
2012-03-15 20:19:05 +11:00
"count:",
- [+] 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
"dam:",
"needgrab:",
"range:",
"race:",
- [+] weapon skill of sk_skilled or high gives you a chance to block some damtypes - [+] BUT each weapon can only block certain damtypes (whereas shields can block all melee damtypes) - [+] add f_canblock to some weapons - [+] add f_canblock to shields - [+] check_for_block() should be a function - [+] getallshields() - [+] move othermod in SC_SHIELDBLOCK out of skillcheck(). calculate the bonus beforehand instead?? - [+] update descriptions for weapon skills - [+] can only block if you have full attrib requirements for this weapon - [+] update io.c to show what weapons/shields can block. "it can block xx, xx and xx damage" - [+] weapons can't ever block projectiles - [+] make pickup/drop actions heaps faster - [+] better description of agi/str affecting weapon accuracy/dam - [+] stinkbeetle should be hostile, and should have bite attack ,not zapper - [+] don't recover stamina while training - [+] add seetext for "a blaring siren" - [+] draw up a matrix for weapon types - [+] draw it up for: - [+] accuracy - [+] damage - [+] attack speed - [+] crit chance - [+] then adjust weapon stats - [+] in shops, "?" now lets you examine an object - [+] add canwill option for abilities: "stamcost:" (to override stamina cost) - [+] add it. - [+] bug: pickaxe not working - [+] "you start digging". but nothign more. - [+] salt kills: - [+] frog - [+] impaler frog - [+] canwill jump - [+] ranged tongue attack - [+] killed by salt - [+] BUG; getting manuals with no contents - [+] odd-sized armour should cost more. - [+] need to set statdirty when we change armour. - [+] when we say "you see x and y here", don't include obs we can't see
2011-12-13 03:40:17 +11:00
"stamcost:",
- [+] 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
NULL,
};
- [+] 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
int argdefault[] = {
0,
- [+] move pctchance for individual spells from F_AICASTTOxxx to F_AISPELLTARGETOVERRIDE v2. - [+] change code: - [+] F_AISPELLTARGETOVERRIDE v0=spellid, v1=F_AICASTTOxxx v2=TT_xxx text=pctchance or NULL. - [+] aispellok(xx, purpose) : check this _before_ checking spell->f_aicasttoxxx - [+] add spelltargetoverride for vampire - [+] add spelltargetoverride for werewolf - [+] retain F_FLEEFROM on polymorph. - [+] lycanthropes - [+] show up as "human" unless your animal/magic lore is high enough - [+] vulnerable to silver weapons - [+] Wererat (3hd, weapon damage) - [+] uses short blades - [+] stench - [+] want alcohol? - [+] transform into fast version of rat. plague rat? - [+] summon small animals. summon # override? "count:" - [+] Werewolf (4hd, 6 dam) - [+] summon wolves ? - [+] shapeshift to dire wolf - [+] regenerates - [+] firstaid skill (fast healing when resting) - [+] Werebear - [+] 6 hd - [+] shapeshift to grizzly bear - [+] summon 2-3 black bears - [+] firstaid skill (fast healing) - [+] shapeshifting monsters sometimes start as animal form - [+] if you are good/evil different alignments, mosnters should flat out refuse to join you. - [+] more different sayphrases for recruitment. - [+] when placing homelevobs, try to stick to rooms, not corridors - [+] getrandomroomcell() needs WE_xxx argument. - [+] implement cellmatchescondition(c, cond) - [+] real_getrandomadjcell() should use this too - [+] swoop ability should only work with claw attacks - [+] F_FORCEATTACKOB - [+] getweapons() needs to honour this. - [+] spell.c: check if you have the right attack type - [+] aispellok: only if you have the right attack yype - [+] horse - 2hd, brown u - [+] Hippogriff (3hd , horse/eagle, 'u') - yellow - [+] centaur (4hd, u) - grey - [+] make pegasus be cyan - [+] CATs - [+] Griffon (7hd, tr4-5, u, hates horses) - lion/eagle - yellow 'f'
2012-03-15 20:19:05 +11:00
1,
- [+] 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
-1, // string
B_FALSE,
0,
-1, // string
0,
-99, // last
};
- [+] make "fear" be used to flee, not attack - [+] CRASH in linkexit() - [+] make most monsters either have sk_perception at least novice. - [+] show success rate when studying scrolls - [+] bug: unable to drink from fountains anymore - [+] always use multidrop - this will free up 'D' - [+] forest tree cluster maps are not working - only a single tree in each cluster! - [+] crash - ghost adding footprint to solid cell! - [+] amberon's wrath for attacking peaceful should happen once per ATTACK, not once per HIT - [+] show cells outside LOS as blue or darkgrey - [+] Don't place normal rooms next to the edge of the map either!! - [+] getradiuscells(scatter) needs an option to include density - [+] then make absolute zero have high density * [+] summoning spells on pentagram will summon a demon instead - [+] "confusion" / "baffle" mental spell - l2 - [+] add 'concussion' injury (head bash) - confusion effect. - [+] iswoozy checks for this. - [+] severed limbs -"frominjury" so taht you can heal them - [+] linkexit() needs to be able to handle making THREE turns: - [+] when looking for turnpos, remember each up/down celll - [+] if we don't find one ("annot find a way to link up") , go through each up/down cell and look left/right - [+] fix is in place. - [+] tested. - [+] bug: doors being placed on top of rock walls!!! think this is related to fix_deadends. - [+] assert statement added. * [+] bug: no up stairs generated on first dungeon map! was being removed by clearcell() for overlapping rooms. - [+] mass stun spell - l4. stuns all in los ? * [+] make "stun" / massstun durations be 2-4 depending on power - [+] "restricted" jobs/races? - [+] don't put shopkeepers in pubs - [+] make a per-map maxvisrange. the deeper you go, the lower this gets (ie . it is darker, less ambientlight) - [+] limit getvisrange(lf) by getmapmaxvisrange() - [+] map->habitat->maxvisrange. set this during createhabitat() - [+] reduce maxvisrange - [+] reduce it to 6 - [+] why can i still see 1 cell? - [+] why can i still always see my own cell? - [+] when in pitch black for a certain amount of time, your vision adjusts to maxrange=1 - [+] ie. getnightvisrange(lf) should be modified by lf->eyeadjustment - [+] reset if you can ever see a lit cell. - [+] when this happens to the player: - [+] msgs about this - [+] also force light recalc - [+] only recalc light when dirty - [+] if we call "haslos()" for a lf and they have losdirty, precalclos first. - [+] vis range problems - [+] sunglasses/footballhelm visrangereduce isn't working anymore - [+] it's reducing maxvisrange(lf). - [+] BUT - my maxvisrange is 5, which is still higher than the ambient range. - [+] need to apply reductions AFTER ambient light - [+] NOW eyeadjustment isn't working. because cell lit is l_temp, not l_notlit. - [+] but if this is the case, why can't i see? anwer: because my visrange has been reduced to 0 due to no ambient light! - [+] so.... how do i make lightt sources override this? - [+] maybe say: if a cell is lit, i can see it, even if it's outside my ambient light. - [+] falling over isn't reducing your visrange anymore - [+] why doesn't eyeadjust make the screen update? - [+] is regular "haslos" code ever used anymore???? - [+] now i can't see lit cells in the darkness again....fixed - [+] after you calm something, give it xpval0 - [+] show message when calm animals fails - [+] check all spell sc_resistmag oskillcheck difficulties - [+] diff should be 20 + (spelllev*2) + power - [+] l1 spell should be diff 20 - [+] l2 should be diff 24 - [+] ... - [+] l7 should be diff 34 - [+] bleeding injuries should make armour "bloodstained" (5% chance per turn) - [+] msgs for "the sun is starting to set" and "the sun is starting to rise" - [+] make 6am, 18pm be constants - [+] add crushed windpipe - lower Fitness, cannot sprint * [+] CRASH when going down stairs! another overlapping room bug i think. - [+] cockatrices and chickens should cluck - [+] canwill param: race:xxx; - [+] define it - [+] use this in "createmonster" - [+] use this in "polymorph" when on self - [+] then remove f_forcepoly - [+] TEST - [+] make playerstart vaults able to appear randomly (just don't place the the "playerstart" object) - [+] redo texttospellopts() to make it more friendly - [+] give a list of what we want as args, rather than passing lots of nulls - [+] "pw:", &localpowervar etc - [+] make "n_lowhp" noisetext happen at END of lf turn - NOT during losehp. - [+] rename turneffectslf() to startlfturn() - [+] show hunger level as a bar in @@ - [+] warn before becoming burdened. - [+] warn when you ARE burdened. at the end of moveob() - [+] l6 - absolute zero (turn everyone around you to ice, freeze all obs, turn ground to ice) - [+] some monsters leave non-meat food behind? - [+] cactus -> cactus juice/fruit - [+] dreamfungus -> sleeping powerder - [+] silver weapons (5% chance on eligible weapons) - [+] hurt vampires - [+] vulnerable to mat??? - then use fromob in losehp() - [+] f_matvuln mt_xxx multiplier - [+] add some silver weapons - [+] f_canbediffmat mt_silver 10% - [+] if f_canbediffmat is true, sometimes change material to this on creation - [+] getobname - if material is differnet, show this - [+] dagger - [+] sword - [+] arrow - [+] bolt - [+] dart - [+] addob should accept 'wantdiffmat'
2011-09-10 09:03:32 +10:00
char argtype[] = {
- [+] move pctchance for individual spells from F_AICASTTOxxx to F_AISPELLTARGETOVERRIDE v2. - [+] change code: - [+] F_AISPELLTARGETOVERRIDE v0=spellid, v1=F_AICASTTOxxx v2=TT_xxx text=pctchance or NULL. - [+] aispellok(xx, purpose) : check this _before_ checking spell->f_aicasttoxxx - [+] add spelltargetoverride for vampire - [+] add spelltargetoverride for werewolf - [+] retain F_FLEEFROM on polymorph. - [+] lycanthropes - [+] show up as "human" unless your animal/magic lore is high enough - [+] vulnerable to silver weapons - [+] Wererat (3hd, weapon damage) - [+] uses short blades - [+] stench - [+] want alcohol? - [+] transform into fast version of rat. plague rat? - [+] summon small animals. summon # override? "count:" - [+] Werewolf (4hd, 6 dam) - [+] summon wolves ? - [+] shapeshift to dire wolf - [+] regenerates - [+] firstaid skill (fast healing when resting) - [+] Werebear - [+] 6 hd - [+] shapeshift to grizzly bear - [+] summon 2-3 black bears - [+] firstaid skill (fast healing) - [+] shapeshifting monsters sometimes start as animal form - [+] if you are good/evil different alignments, mosnters should flat out refuse to join you. - [+] more different sayphrases for recruitment. - [+] when placing homelevobs, try to stick to rooms, not corridors - [+] getrandomroomcell() needs WE_xxx argument. - [+] implement cellmatchescondition(c, cond) - [+] real_getrandomadjcell() should use this too - [+] swoop ability should only work with claw attacks - [+] F_FORCEATTACKOB - [+] getweapons() needs to honour this. - [+] spell.c: check if you have the right attack type - [+] aispellok: only if you have the right attack yype - [+] horse - 2hd, brown u - [+] Hippogriff (3hd , horse/eagle, 'u') - yellow - [+] centaur (4hd, u) - grey - [+] make pegasus be cyan - [+] CATs - [+] Griffon (7hd, tr4-5, u, hates horses) - lion/eagle - yellow 'f'
2012-03-15 20:19:05 +11:00
'i',
- [+] 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
'i',
's',
'b',
'i',
's',
- [+] weapon skill of sk_skilled or high gives you a chance to block some damtypes - [+] BUT each weapon can only block certain damtypes (whereas shields can block all melee damtypes) - [+] add f_canblock to some weapons - [+] add f_canblock to shields - [+] check_for_block() should be a function - [+] getallshields() - [+] move othermod in SC_SHIELDBLOCK out of skillcheck(). calculate the bonus beforehand instead?? - [+] update descriptions for weapon skills - [+] can only block if you have full attrib requirements for this weapon - [+] update io.c to show what weapons/shields can block. "it can block xx, xx and xx damage" - [+] weapons can't ever block projectiles - [+] make pickup/drop actions heaps faster - [+] better description of agi/str affecting weapon accuracy/dam - [+] stinkbeetle should be hostile, and should have bite attack ,not zapper - [+] don't recover stamina while training - [+] add seetext for "a blaring siren" - [+] draw up a matrix for weapon types - [+] draw it up for: - [+] accuracy - [+] damage - [+] attack speed - [+] crit chance - [+] then adjust weapon stats - [+] in shops, "?" now lets you examine an object - [+] add canwill option for abilities: "stamcost:" (to override stamina cost) - [+] add it. - [+] bug: pickaxe not working - [+] "you start digging". but nothign more. - [+] salt kills: - [+] frog - [+] impaler frog - [+] canwill jump - [+] ranged tongue attack - [+] killed by salt - [+] BUG; getting manuals with no contents - [+] odd-sized armour should cost more. - [+] need to set statdirty when we change armour. - [+] when we say "you see x and y here", don't include obs we can't see
2011-12-13 03:40:17 +11:00
'i',
- [+] 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
'\0',
};
char *wantname = NULL;
void *writeto = NULL;
va_start(args, text);
wantname = va_arg(args, char *);
if (wantname) writeto = va_arg(args, void *);
- [+] 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
while (wantname) { // process this one
- [+] move pctchance for individual spells from F_AICASTTOxxx to F_AISPELLTARGETOVERRIDE v2. - [+] change code: - [+] F_AISPELLTARGETOVERRIDE v0=spellid, v1=F_AICASTTOxxx v2=TT_xxx text=pctchance or NULL. - [+] aispellok(xx, purpose) : check this _before_ checking spell->f_aicasttoxxx - [+] add spelltargetoverride for vampire - [+] add spelltargetoverride for werewolf - [+] retain F_FLEEFROM on polymorph. - [+] lycanthropes - [+] show up as "human" unless your animal/magic lore is high enough - [+] vulnerable to silver weapons - [+] Wererat (3hd, weapon damage) - [+] uses short blades - [+] stench - [+] want alcohol? - [+] transform into fast version of rat. plague rat? - [+] summon small animals. summon # override? "count:" - [+] Werewolf (4hd, 6 dam) - [+] summon wolves ? - [+] shapeshift to dire wolf - [+] regenerates - [+] firstaid skill (fast healing when resting) - [+] Werebear - [+] 6 hd - [+] shapeshift to grizzly bear - [+] summon 2-3 black bears - [+] firstaid skill (fast healing) - [+] shapeshifting monsters sometimes start as animal form - [+] if you are good/evil different alignments, mosnters should flat out refuse to join you. - [+] more different sayphrases for recruitment. - [+] when placing homelevobs, try to stick to rooms, not corridors - [+] getrandomroomcell() needs WE_xxx argument. - [+] implement cellmatchescondition(c, cond) - [+] real_getrandomadjcell() should use this too - [+] swoop ability should only work with claw attacks - [+] F_FORCEATTACKOB - [+] getweapons() needs to honour this. - [+] spell.c: check if you have the right attack type - [+] aispellok: only if you have the right attack yype - [+] horse - 2hd, brown u - [+] Hippogriff (3hd , horse/eagle, 'u') - yellow - [+] centaur (4hd, u) - grey - [+] make pegasus be cyan - [+] CATs - [+] Griffon (7hd, tr4-5, u, hates horses) - lion/eagle - yellow 'f'
2012-03-15 20:19:05 +11:00
if (writeto) {
int foundidx = -1,i;
// validate 'wantname' - must match one of 'validname[]'
for (i = 0; validname[i]; i++) {
if (streq(validname[i], wantname)) {
foundidx = i;
break;
}
}
assert(foundidx != -1);
// blank our dest buffer
if (argtype[foundidx] == 'i') {
*((int *)writeto) = argdefault[foundidx];
} else if (argtype[foundidx] == 'b') {
*((int *)writeto) = argdefault[foundidx];
} else if (argtype[foundidx] == 's') {
strcpy((char *)writeto, "");
- [+] 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
}
- [+] move pctchance for individual spells from F_AICASTTOxxx to F_AISPELLTARGETOVERRIDE v2. - [+] change code: - [+] F_AISPELLTARGETOVERRIDE v0=spellid, v1=F_AICASTTOxxx v2=TT_xxx text=pctchance or NULL. - [+] aispellok(xx, purpose) : check this _before_ checking spell->f_aicasttoxxx - [+] add spelltargetoverride for vampire - [+] add spelltargetoverride for werewolf - [+] retain F_FLEEFROM on polymorph. - [+] lycanthropes - [+] show up as "human" unless your animal/magic lore is high enough - [+] vulnerable to silver weapons - [+] Wererat (3hd, weapon damage) - [+] uses short blades - [+] stench - [+] want alcohol? - [+] transform into fast version of rat. plague rat? - [+] summon small animals. summon # override? "count:" - [+] Werewolf (4hd, 6 dam) - [+] summon wolves ? - [+] shapeshift to dire wolf - [+] regenerates - [+] firstaid skill (fast healing when resting) - [+] Werebear - [+] 6 hd - [+] shapeshift to grizzly bear - [+] summon 2-3 black bears - [+] firstaid skill (fast healing) - [+] shapeshifting monsters sometimes start as animal form - [+] if you are good/evil different alignments, mosnters should flat out refuse to join you. - [+] more different sayphrases for recruitment. - [+] when placing homelevobs, try to stick to rooms, not corridors - [+] getrandomroomcell() needs WE_xxx argument. - [+] implement cellmatchescondition(c, cond) - [+] real_getrandomadjcell() should use this too - [+] swoop ability should only work with claw attacks - [+] F_FORCEATTACKOB - [+] getweapons() needs to honour this. - [+] spell.c: check if you have the right attack type - [+] aispellok: only if you have the right attack yype - [+] horse - 2hd, brown u - [+] Hippogriff (3hd , horse/eagle, 'u') - yellow - [+] centaur (4hd, u) - grey - [+] make pegasus be cyan - [+] CATs - [+] Griffon (7hd, tr4-5, u, hates horses) - lion/eagle - yellow 'f'
2012-03-15 20:19:05 +11:00
// look for 'wantname' within 'text'
for (p = text ; *p ; p++) {
if (!strncmp(p, wantname, strlen(wantname)) ) { // found it!
char localval[BUFLEN];
char *valfull;
// extract value from text
// p will point to "pw:xxx;"
strcpy(localval, p + strlen(wantname)); // localval is "xxx;"
valfull = strtok(localval, ";"); // valfull is "xxx"
if (valfull) {
// if it's there, write the value into 'writeto'
if (argtype[foundidx] == 'i') {
*((int *)writeto) = atoi(valfull);
} else if (argtype[foundidx] == 'b') {
*((int *)writeto) = atoi(valfull) ? B_TRUE : B_FALSE;
} else if (argtype[foundidx] == 's') {
strcpy((char *)writeto, valfull);
}
nfilled++;
- [+] 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
}
}
}
}
// get next one
wantname = va_arg(args, char *);
if (wantname) writeto = va_arg(args, void *);
}
va_end(args);
- [+] increase damage for missiles - [+] retain items on polymorph if new race has f_nopack or nobodypart for equipped stuff - [+] move obs to lf->polypack - [+] save this! - [+] fix bugs with remembering/restoring stats on polyrevert. - [+] scroll of permenance should make conferred attribute changes permenant - [+] change strength damage mod to be range -2 to 2 (instead of a percentage) - [+] corrected poison/methane gas difference. - [+] hecta gift: necromancy books - [+] damagecell() - [+] make rock walls turn to rubble ("50-100 stones") - [+] change to lore skill: incrase damage by a fixed amount, not a percentage. - [+] felix effect: evaulation (identify obs) - [+] god piety should never change once thy are ignoring you. - [+] shields should protect against crit hits - [+] hecta no longer gives unholy water? - [+] I'm able to use OT_A_SHIELDBASH with 0 stamina. - [+] CRASH during loading - [+] fixed - [+] ...but check for more.... - [+] quaff potion of fury - "you're too tired to do that right now" - [+] player was being prompted for locaiton when monster tried to wear a bandage. - [+] closing iron gates is making them opaque. - [+] only add blocksview if the objectTYPE has it. - [+] fountains of experience not drying up. - [+] looking for tracks on stairs. never finding any!! - [+] shop descriptions not working anymore. - [+] left hand got destroyed by explosion. - [+] i then wore a ring... and it went on "left finger"! - [+] all spell effects should cease just before death. - [+] crystal shield/armour shouldn't call wear() but rather just set f_equipped directly. - [+] bedrooms/kitchens should have tiled or carpet floors? - [+] tiled = less stability (especially with water!!) - [+] carpet = more stability - [+] fire skeleton - [+] firebug - [+] ice wraith - [+] winter wolf - [+] skoob (snowman) - [+] crymidia can cast crystal spells - [+] blastbug - [+] bilco - casts flood at itself. - [+] rubber-like things - [+] slug - [+] snail
2012-01-25 07:38:59 +11:00
return nfilled;
- [+] 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
}
2011-02-01 06:16:13 +11:00
char *you(lifeform_t *lf) {
if (isplayer(lf)) {
return "You";
}
return "It";
}
char *you_l(lifeform_t *lf) {
if (isplayer(lf)) {
return "you";
}
return "it";
}
char *your(lifeform_t *lf) {
if (isplayer(lf)) {
return "Your";
}
return "Its";
}
char *your_l(lifeform_t *lf) {
if (isplayer(lf)) {
return "your";
}
return "its";
}