Angband.oook.cz
Angband.oook.cz
AboutVariantsLadderForumCompetitionComicScreenshotsFunniesLinks

Go Back   Angband Forums > Angband > Development

Reply
 
Thread Tools Display Modes
Old September 3, 2011, 02:58   #1
GrimBob
Rookie
 
Join Date: Aug 2011
Location: in caves
Posts: 10
GrimBob is on a distinguished road
Lightbulb Doors of Doom

Let's face it, doors are costly in your average dungeon. Those delvers go around bashing them down, then you have to find a kobold smith for new hinges and as for the wood... when was the last time you saw TREES in your underground dwelling?

The solution?
Doors of Doom!

teach those door bashers a lesson by having a door fill the area with toxic fumes or blinding burning magnesium when broken!

what this means : I'm working on a patch to randomly (with increasing probability as you go deeper) set off trap like effects when doors are bashed and broken...

What do you think of this idea?
GrimBob is offline   Reply With Quote
Old September 3, 2011, 03:23   #2
buzzkill
Prophet
 
buzzkill's Avatar
 
Join Date: May 2008
Location: Indiana, USA
Posts: 2,939
Donated: $8
buzzkill is on a distinguished road
In Angband, door bash you.

But really, who bashes doors these days except for monsters. You would have to make picking locks a lot harder first.
__________________
www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
My banding life on Buzzkill's ladder.
buzzkill is offline   Reply With Quote
Old September 3, 2011, 03:29   #3
GrimBob
Rookie
 
Join Date: Aug 2011
Location: in caves
Posts: 10
GrimBob is on a distinguished road
Quote:
Originally Posted by buzzkill View Post
In Angband, door bash you.

But really, who bashes doors these days except for monsters. You would have to make picking locks a lot harder first.
Clumsy warriors, fair point though I'll consider this as I work on it. If bashing doors is to be hazardous there should be motivation to bash them... yes. Perhaps picking difficulty should increase as one goes deeper, I shall muse on this

+1 for the "In Angband..." joke.

Last edited by GrimBob; September 3, 2011 at 03:37.
GrimBob is offline   Reply With Quote
Old September 3, 2011, 07:46   #4
Derakon
Prophet
 
Derakon's Avatar
 
Join Date: Dec 2009
Posts: 8,861
Derakon is on a distinguished road
Make doors too dangerous and I'll just dig around them in the depths...digging wreaks havoc with a lot of "I'm going to introduce a clever terrain gimmick to make the game harder" concepts, really.
Derakon is offline   Reply With Quote
Old September 3, 2011, 14:05   #5
buzzkill
Prophet
 
buzzkill's Avatar
 
Join Date: May 2008
Location: Indiana, USA
Posts: 2,939
Donated: $8
buzzkill is on a distinguished road
Tunneling directly adjacent to a door way could introduce structural problems, often indicated by the presence of an earthquake, or cascade of earthquakes. Tunneling around them in a more round-about way would take longer and/or be more resource intensive.
__________________
www.mediafire.com/buzzkill - Get your 32x32 tiles here. UT32 now compatible Ironband and Quickband 9/6/2012.
My banding life on Buzzkill's ladder.
buzzkill is offline   Reply With Quote
Old September 3, 2011, 21:16   #6
Max Stats
Swordsman
 
Join Date: Jun 2010
Posts: 324
Max Stats is on a distinguished road
Quote:
Originally Posted by Derakon View Post
Make doors too dangerous and I'll just dig around them in the depths...digging wreaks havoc with a lot of "I'm going to introduce a clever terrain gimmick to make the game harder" concepts, really.
These trapped doors could be the entrance to a permarock-enclosed vault. Then you are forced to open them, and you also are given motivation to do so.
Max Stats is offline   Reply With Quote
Old September 4, 2011, 00:47   #7
GrimBob
Rookie
 
Join Date: Aug 2011
Location: in caves
Posts: 10
GrimBob is on a distinguished road
Post Example

all very good points. I'm hesitant about the vault as that would involve adding a new door type, and frankly that's to many changes for me to keep track of.

here is a snippet of what I had in mind:
Quote:
//Door trap example GB
//pulled from Angband 3.3.0
//cmd2.c

/*
* Perform the basic "bash" command
*
* Assume there is no monster blocking the destination
*
* Returns TRUE if repeated commands may continue
*/
static bool do_cmd_bash_aux(int y, int x)
{
int bash, temp;

bool more = FALSE;


/* Verify legality */
if (!do_cmd_bash_test(y, x)) return (FALSE);


/* Message */
msg("You smash into the door!");

/* Hack -- Bash power based on strength */
/* (Ranges from 3 to 20 to 100 to 200) */
bash = adj_str_blow[p_ptr->state.stat_ind[A_STR]];

/* Extract door power */
temp = ((cave->feat[y][x] - FEAT_DOOR_HEAD) & 0x07);

/* Compare bash power to door power */
temp = (bash - (temp * 10));

/* Hack -- always have a chance */
if (temp < 1) temp = 1;

/* Hack -- attempt to bash down the door */
if (randint0(100) < temp)
{
/* Break down the door */
if (randint0(100) < 50)
{
cave_set_feat(cave, y, x, FEAT_BROKEN);
//GB-Ok here we insert the posibility that the door was trapped
//just for this example I'll keep it simple, one trap type: 'poison dust'
//Later other trapped doors can be added here, just by changing the message
//and effect call
if(randint0(100) < (p_ptr->depth))
{
//GB-The odds of this happening increase as the player goes deeper, maxing
//out at about 50%
msgt(MSG_OPENDOOR, "The door was hollow! White choking powder fills the air!");
(void)player_inc_timed(p_ptr, TMD_POISONED, 10 + randint1(20), TRUE, TRUE);
}

}

/* Open the door */
else
{
cave_set_feat(cave, y, x, FEAT_OPEN);
}

msgt(MSG_OPENDOOR, "The door crashes open!");

/* Update the visuals */
p_ptr->update |= (PU_UPDATE_VIEW | PU_MONSTERS);
}

/* Saving throw against stun */
else if (randint0(100) < adj_dex_safe[p_ptr->state.stat_ind[A_DEX]] +
p_ptr->lev) {
msg("The door holds firm.");

/* Allow repeated bashing */
more = TRUE;
}

/* Low dexterity has bad consequences */
else {
msg("You are off-balance.");

/* Lose balance ala stun */
(void)player_inc_timed(p_ptr, TMD_STUN, 2 + randint0(2), TRUE, FALSE);
}

/* Result */
return more;
}
GrimBob is offline   Reply With Quote
Old September 4, 2011, 01:46   #8
GrimBob
Rookie
 
Join Date: Aug 2011
Location: in caves
Posts: 10
GrimBob is on a distinguished road
further example

tossed in a switch to show how other door trap types could be done
Quote:
/* Hack -- attempt to bash down the door */
if (randint0(100) < temp)
{
/* Break down the door */
if (randint0(100) < 50)
{
cave_set_feat(cave, y, x, FEAT_BROKEN);

/*GB-Ok here we insert the posibility that the door was trapped*/

if(randint0(100) < (p_ptr->depth))
{
/*GB-The odds of this happening increase as the player goes deeper, maxing
out at about 50%
Here I've expanded the traps with a switch*/
switch randint0(3) //or however many trap types you have
{
case 0:
/*Poison dust*/
msgt(MSG_OPENDOOR, "The door was hollow! White choking powder fills the air!");
(void)player_inc_timed(p_ptr, TMD_POISONED, 10 + randint1(20), TRUE, TRUE);
break;
case 1:
/*Blinding flash*/
msgt(MSG_OPENDOOR, "What a cruel trick, as the wood splinters magnesium ignites in a blinding flash!");
(void)player_inc_timed(p_ptr, TMD_BLIND, 10 + randint1(20), TRUE, TRUE);
break;
case 2:
/*Confusing gas*/
msgt(MSG_OPENDOOR, "You hear a glass vial break, ooo pretty colors!");
(void)player_inc_timed(p_ptr, TMD_CONFUSED, 10 + randint1(20), TRUE, TRUE);
break;
}
}

}

/* Open the door */
else
{
cave_set_feat(cave, y, x, FEAT_OPEN);
}

msgt(MSG_OPENDOOR, "The door crashes open!");

/* Update the visuals */
p_ptr->update |= (PU_UPDATE_VIEW | PU_MONSTERS);
}
GrimBob is offline   Reply With Quote
Old September 4, 2011, 04:44   #9
d_m
Angband Devteam member
 
d_m's Avatar
 
Join Date: Aug 2008
Location: Philadelphia, PA, USA
Age: 39
Posts: 1,516
d_m is on a distinguished road
Hey GrimBob,

I'm not totally sure about this feature, but if you want people to try it out a good way to get started is to sign up on github.com, fork angband/angband, and push your change there. That way people can just pull your change and try it out without having to figure out exactly how to modify the code.

At this point almost all contributions come to Angband through github (and the rest are pretty much all patches). It works really well for us.
__________________
linux->xterm->screen->pmacs
d_m is offline   Reply With Quote
Old September 4, 2011, 07:51   #10
GrimBob
Rookie
 
Join Date: Aug 2011
Location: in caves
Posts: 10
GrimBob is on a distinguished road
just want to say, I am loving GIT....

erm .. no fast food company's taglines were harmed in the making of this post
GrimBob is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Bug: "Find Traps, Doors & Stairs" doesn't work on chests Raggy Vanilla 26 June 29, 2011 13:28
Rods of detect traps and stairs/doors Timo Pietilš Development 13 March 10, 2011 04:38
Angband doors Timo Pietilš Vanilla 24 September 15, 2010 17:25
Jamming (spiking) doors fizzix Vanilla 19 January 7, 2010 12:43
angband/rougelike game called Doom? Diadem Variants 14 January 30, 2009 07:23


All times are GMT +1. The time now is 09:56.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, vBulletin Solutions Inc.