Trap handling revisited
Moderator: Moderator
-
- Uruivellas
- Posts: 718
- Joined: Tue Dec 13, 2005 12:35 am
Trap handling revisited
Yet more ideas for dealing with traps:
1. Make all traps visible by default.
Unfortunately, this would make perception near-useless, and would probably be hard to implement, given that trap types are not chosen until the trap is detected. It would also make player traps less thematically sensible. But it would remove the "Press x or die instantly" problem.
2. LoS trap detection.
This always struck me as a good idea, esp. as it would go well with scaling up the power of Perception. I've tried to implement it a few times; unfortunately, simple methods for doing it usually result in crashes that are very difficult to debug.
3. Automatically show all traps in LoS.
A hybrid of the above two - all floor traps that are in your line of sight are instantly revealed, regardless of perception skill. Whether you can disarm them is the question! (Trap detection spells and effects would of course have to be removed.)
4. Automatically reveal adjacent traps.
Like the above, but not as huge a change. Trap detection spells would remain untouched.
5. Allow alternative methods of trap disarming.
For instance, maybe bashing could be applied to traps, with the chance of setting the trap off while smashing it depending on your STR or something.
... If you have any other suggestions, feel free to mention them...
1. Make all traps visible by default.
Unfortunately, this would make perception near-useless, and would probably be hard to implement, given that trap types are not chosen until the trap is detected. It would also make player traps less thematically sensible. But it would remove the "Press x or die instantly" problem.
2. LoS trap detection.
This always struck me as a good idea, esp. as it would go well with scaling up the power of Perception. I've tried to implement it a few times; unfortunately, simple methods for doing it usually result in crashes that are very difficult to debug.
3. Automatically show all traps in LoS.
A hybrid of the above two - all floor traps that are in your line of sight are instantly revealed, regardless of perception skill. Whether you can disarm them is the question! (Trap detection spells and effects would of course have to be removed.)
4. Automatically reveal adjacent traps.
Like the above, but not as huge a change. Trap detection spells would remain untouched.
5. Allow alternative methods of trap disarming.
For instance, maybe bashing could be applied to traps, with the chance of setting the trap off while smashing it depending on your STR or something.
... If you have any other suggestions, feel free to mention them...
Re: Trap handling revisited
The problem that I have with traps is that they are all or nothing (I am talking about the various damage-dealing traps. I don't care much about the others.) A single trap in the Void can easily take out a level 50 character (I have had it happen...). So at the moment it is necessary for everyone to have a 100% reliable method for disarming- spell, rod, or Antimagic>35.
It would be better if you could reduce the damage based on disarming, dexterity, perception, or whatever. It might also be useful to reduce it if the trap was visible. Then it would be possible to run a warrior type and rely on perception and disarming skill without the risk that a single failure would be lethal. You could also take detect/destroy traps spell away from Antimagic characters- it really doesn't fit to have an unbeliever relying on a spell.
It would be better if you could reduce the damage based on disarming, dexterity, perception, or whatever. It might also be useful to reduce it if the trap was visible. Then it would be possible to run a warrior type and rely on perception and disarming skill without the risk that a single failure would be lethal. You could also take detect/destroy traps spell away from Antimagic characters- it really doesn't fit to have an unbeliever relying on a spell.
-
- Uruivellas
- Posts: 718
- Joined: Tue Dec 13, 2005 12:35 am
Re: Trap handling revisited
Problem is you have traps like Scatter Items that don't do damage, but can still really wreck a character.
There's another idea I came up with that I think might solve this. I would make Sneakiness and Disarming skill much more effective for dealing with traps, but also give them side effects: Sneakiness would make player traps do more damage, and Disarming would make them harder to disarm. So most characters would not be encouraged to push Sneakiness and Disarming above 10 or so, but Rogues and Assassins would be encouraged to max them out.
The main problem with that is making thematic sense of it...
(BTW, "Legendary" Disarming ability is IIRC 100%.)
Personally, I'm currently leaning towards making traps automatically appear when you're adjacent to them, and leaving it to the player to decide whether to disarm or avoid them; with the addendum that "easy disarming" will be turned off by default, and the character will be stopped from blundering into known traps. That way traps would still be obstacles.
There's another idea I came up with that I think might solve this. I would make Sneakiness and Disarming skill much more effective for dealing with traps, but also give them side effects: Sneakiness would make player traps do more damage, and Disarming would make them harder to disarm. So most characters would not be encouraged to push Sneakiness and Disarming above 10 or so, but Rogues and Assassins would be encouraged to max them out.
The main problem with that is making thematic sense of it...
(BTW, "Legendary" Disarming ability is IIRC 100%.)
Personally, I'm currently leaning towards making traps automatically appear when you're adjacent to them, and leaving it to the player to decide whether to disarm or avoid them; with the addendum that "easy disarming" will be turned off by default, and the character will be stopped from blundering into known traps. That way traps would still be obstacles.
Re: Trap handling revisited
I thought that maxed out Disarming was 100%, but I've never run a rogue.
Do traps like Summon Monster and Scatter Items have a parameter that tells them how many to summon/scatter? If that was inversely scaled to Disarming then they wouldn't necessarily be as bad. Alternatively you could just dump those. Traps that do direct damage (daggers, arrows, explosions) make sense in context. Many of the others don't. How would you design a trap that secretly switched someone's weapon with something in his pack or scattered the items in her pack on the floor?
Do traps like Summon Monster and Scatter Items have a parameter that tells them how many to summon/scatter? If that was inversely scaled to Disarming then they wouldn't necessarily be as bad. Alternatively you could just dump those. Traps that do direct damage (daggers, arrows, explosions) make sense in context. Many of the others don't. How would you design a trap that secretly switched someone's weapon with something in his pack or scattered the items in her pack on the floor?
-
- Uruivellas
- Posts: 718
- Joined: Tue Dec 13, 2005 12:35 am
Re: Trap handling revisited
Maxed out Disarming is 75%, subject to change with tactics.
And I don't believe those traps have parameters. Probably best to dump them, along with the transformation traps, etc.
I'll admit I don't like the idea of making it desirable for non-Rogues to dump a ton of skill points into Disarming or Sneakiness just to deal with traps, BTW. OTOH, linking the damage reduction with something like Magic Device would be too munchkin.
And I don't believe those traps have parameters. Probably best to dump them, along with the transformation traps, etc.
I'll admit I don't like the idea of making it desirable for non-Rogues to dump a ton of skill points into Disarming or Sneakiness just to deal with traps, BTW. OTOH, linking the damage reduction with something like Magic Device would be too munchkin.
Re: Trap handling revisited
It would work for Unbelievers and other antimagic users. They have skill points left over after maximizing their combat skills and antimagic. Other characters have access to the Disarm spell at a low level.Lord Estraven wrote:...
I'll admit I don't like the idea of making it desirable for non-Rogues to dump a ton of skill points into Disarming or Sneakiness just to deal with traps, BTW. OTOH, linking the damage reduction with something like Magic Device would be too munchkin.
-
- Uruivellas
- Posts: 718
- Joined: Tue Dec 13, 2005 12:35 am
Re: Trap handling revisited
[Edit: oh wait you're talking about using Disarming and Sneakiness...]
Loremasters don't have enough skill points to go around, IIRC. I suppose I could always change their skill multipliers... Even so.
Also, you need 100% trap detection way earlier than level 46.
Loremasters don't have enough skill points to go around, IIRC. I suppose I could always change their skill multipliers... Even so.
Also, you need 100% trap detection way earlier than level 46.
-
- Uruivellas
- Posts: 718
- Joined: Tue Dec 13, 2005 12:35 am
Re: Trap handling revisited
Okay here goes... I have made the following changes:
- Stunned characters now still avoid triggering traps when EASY_DISARM is off
- EASY_DISARM is off by default
- Adjacent traps are always noticed on movement, provided the character is equipped to see them
I'll give it some testing later and see how it works...
- Stunned characters now still avoid triggering traps when EASY_DISARM is off
- EASY_DISARM is off by default
- Adjacent traps are always noticed on movement, provided the character is equipped to see them
I'll give it some testing later and see how it works...
-
- Uruivellas
- Posts: 718
- Joined: Tue Dec 13, 2005 12:35 am
Re: Trap handling revisited
For some reason that did not work. So I tried again, with the following changes:
- Removed floor trap sensing via perception from cmd1.c
- Made dungeon.c use spare game turns to detect traps adjacent to the character, but only if the character is not in wilderness mode
- Disabled EASY_DISARM by default
- Made
But this is a really crude newbie hack. Here's what's wrong with it:
1. Adjacent traps may not show up when you first enter a level. Not sure how to deal with this, other than kludging in another invocation of detect_traps(1) when the level is generated.
2. You're always in a "trap detected zone" because of the use of detect_traps(). I could rip off some code from cmd1.c to deal with this, but it would be more cumbersome, and I just want to see how this works out.
3. Characters who are stunned, hallucinating, or confused will stumble into known traps and set them off. This feels a bit cruel... OTOH it seems wrong that a character who is hallucinating should be able to recognize a trap.
Anyway, here is the source code:
https://gitorious.org/~miramor/tome2/mi ... ap-changes
Click on "Download trap-changes as tar.gz" to get it. To compile and run, just untar it somewhere, open a terminal, cd into the top level directory, and run
$ cmake .
$ make
$ ./src/tome
Note that you need CMake, which should be available in your distro's repositories.
I do not know how to reliably compile T2 on Windows. If anyone knows, please tell me. Thanks.
Please note also that OSX is, AFAIK, completely unsupported at the moment.
- Removed floor trap sensing via perception from cmd1.c
- Made dungeon.c use spare game turns to detect traps adjacent to the character, but only if the character is not in wilderness mode
- Disabled EASY_DISARM by default
- Made
But this is a really crude newbie hack. Here's what's wrong with it:
1. Adjacent traps may not show up when you first enter a level. Not sure how to deal with this, other than kludging in another invocation of detect_traps(1) when the level is generated.
2. You're always in a "trap detected zone" because of the use of detect_traps(). I could rip off some code from cmd1.c to deal with this, but it would be more cumbersome, and I just want to see how this works out.
3. Characters who are stunned, hallucinating, or confused will stumble into known traps and set them off. This feels a bit cruel... OTOH it seems wrong that a character who is hallucinating should be able to recognize a trap.
Anyway, here is the source code:
https://gitorious.org/~miramor/tome2/mi ... ap-changes
Click on "Download trap-changes as tar.gz" to get it. To compile and run, just untar it somewhere, open a terminal, cd into the top level directory, and run
$ cmake .
$ make
$ ./src/tome
Note that you need CMake, which should be available in your distro's repositories.
I do not know how to reliably compile T2 on Windows. If anyone knows, please tell me. Thanks.
Please note also that OSX is, AFAIK, completely unsupported at the moment.
-
- Uruivellas
- Posts: 718
- Joined: Tue Dec 13, 2005 12:35 am
Re: Trap handling revisited
Hmm. The above works okay, except that it spams you with "You sense the presence of traps!" messages whenever a trap is found. Back to the drawing board.
-
- Uruivellas
- Posts: 718
- Joined: Tue Dec 13, 2005 12:35 am
Re: Trap handling revisited
Alright, right now I have two branches on Gitorious...
neutered-traps removes some of the more gratuitously deadly (e.g. multiple projectile), silly (sex change, blasphemy, etc.) and otherwise horribly nasty (scatter items, curse weapon, etc.) traps. There are still damage-dealing traps, and they will still deal significant damage at high levels, but they shouldn't cause instadeath. This is more in line with the way traps work in V.
trap-skills makes Sneakiness and Disarming much more effective for dealing with traps. It also makes monster traps set by sneaky characters harder for monsters to notice and disarm; and gives all Mage classes access to the Disarming skill (with help files updated to show it). Note that trap detection doesn't work without light, so bumbling around in the dark is still an excellent way to die!
Anyway, if you any of you get a chance, please do take the time to test these...
(And note that work is not yet finished on either. For instance, more traps may yet be removed from neutered-traps; and I'm thinking of giving some monster traps in trap-skills a damage bonus based on Sneakiness and Disarming skills, since making them less detectable is really not sufficient IMO.)
neutered-traps removes some of the more gratuitously deadly (e.g. multiple projectile), silly (sex change, blasphemy, etc.) and otherwise horribly nasty (scatter items, curse weapon, etc.) traps. There are still damage-dealing traps, and they will still deal significant damage at high levels, but they shouldn't cause instadeath. This is more in line with the way traps work in V.
trap-skills makes Sneakiness and Disarming much more effective for dealing with traps. It also makes monster traps set by sneaky characters harder for monsters to notice and disarm; and gives all Mage classes access to the Disarming skill (with help files updated to show it). Note that trap detection doesn't work without light, so bumbling around in the dark is still an excellent way to die!
Anyway, if you any of you get a chance, please do take the time to test these...
(And note that work is not yet finished on either. For instance, more traps may yet be removed from neutered-traps; and I'm thinking of giving some monster traps in trap-skills a damage bonus based on Sneakiness and Disarming skills, since making them less detectable is really not sufficient IMO.)