- SWFOTE FUSS Bugfix List 1 1 Kayle
Nibelungen

GroupAdministrators
Posts 1,040
Joined Mar 21, 2006
Bug: Auto-Exits don't check position before moving character.
Danger: Medium - Players can move through auto-exits regardless of their position
Found by: Banner
Fixed by: Sharmair/Kayle
---
Interp.c, interpret
Find:
Change to:
Auto-Exits were not taking position into account before moving characters, so they could get around while asleep using autoexits if they wanted.
Posted Aug 14, 2010, 10:38 am
Danger: Medium - Players can move through auto-exits regardless of their position
Found by: Banner
Fixed by: Sharmair/Kayle
---
Interp.c, interpret
Find:
{
EXIT_DATA *pexit;
/*
* check for an auto-matic exit command
*/
if( ( pexit = find_door( ch, command, TRUE ) ) != NULL && IS_SET( pexit->exit_info, EX_xAUTO ) )
{
if( IS_SET( pexit->exit_info, EX_CLOSED )
&& ( !IS_AFFECTED( ch, AFF_PASS_DOOR ) || IS_SET( pexit->exit_info, EX_NOPASSDOOR ) ) )
{
if( !IS_SET( pexit->exit_info, EX_SECRET ) )
act( AT_PLAIN, "The $d is closed.", ch, NULL, pexit->keyword, TO_CHAR );
else
send_to_char( "You cannot do that here.\r\n", ch );
return;
}
move_char( ch, pexit, 0 );
return;
}
if( rprog_custom_trigger( command, argument, ch ) )
return;
if( mprog_custom_trigger( command, argument, ch ) )
return;
if( oprog_custom_trigger( command, argument, ch ) )
return;
send_to_char( "Huh?\r\n", ch );
}
Change to:
{
EXIT_DATA *pexit;
/*
* check for an auto-matic exit command
*/
if( ( pexit = find_door( ch, command, TRUE ) ) != NULL && IS_SET( pexit->exit_info, EX_xAUTO ) )
{
if( IS_SET( pexit->exit_info, EX_CLOSED )
&& ( !IS_AFFECTED( ch, AFF_PASS_DOOR ) || IS_SET( pexit->exit_info, EX_NOPASSDOOR ) ) )
{
if( !IS_SET( pexit->exit_info, EX_SECRET ) )
act( AT_PLAIN, "The $d is closed.", ch, NULL, pexit->keyword, TO_CHAR );
else
send_to_char( "You cannot do that here.\r\n", ch );
return;
}
if( check_pos( ch, POS_STANDING ) )
move_char( ch, pexit, 0 );
return;
}
if( rprog_custom_trigger( command, argument, ch ) )
return;
if( mprog_custom_trigger( command, argument, ch ) )
return;
if( oprog_custom_trigger( command, argument, ch ) )
return;
send_to_char( "Huh?\r\n", ch );
}
Auto-Exits were not taking position into account before moving characters, so they could get around while asleep using autoexits if they wanted.
Posted Aug 14, 2010, 10:38 am
- SWFOTE FUSS Bugfix List 1 1 Kayle
Nibelungen

GroupAdministrators
Posts 1,040
Joined Mar 21, 2006
Bug: Space Combat skills use wrong modifier
Danger: Low - Damage is higher without skill then with skill.
Found by: Ayuri
Fixed by: Keberus
---
Space.c, damage_ship_ch
Find:
Change that last else to:
You ended up doing more damage without space combat 1 then you did with the skill trained.
Posted Aug 14, 2010, 10:38 am
Danger: Low - Damage is higher without skill then with skill.
Found by: Ayuri
Fixed by: Keberus
---
Space.c, damage_ship_ch
Find:
if( ch->pcdata->learned[gsn_spacecombat] > 1 && ch->pcdata->learned[gsn_spacecombat2] < 1 && ch->pcdata->learned[gsn_spacecombat3] < 1 ) ship->hull -= sdamage * 4; else if( ch->pcdata->learned[gsn_spacecombat] > 1 && ch->pcdata->learned[gsn_spacecombat2] > 1 && ch->pcdata->learned[gsn_spacecombat3] < 1 ) ship->hull -= sdamage * 5; else if( ch->pcdata->learned[gsn_spacecombat] > 1 && ch->pcdata->learned[gsn_spacecombat2] > 1 && ch->pcdata->learned[gsn_spacecombat3] > 1 ) ship->hull -= sdamage * 6; else ship->hull -= sdamage * 5;
Change that last else to:
else ship->hull -= sdamage * 3;
You ended up doing more damage without space combat 1 then you did with the skill trained.
Posted Aug 14, 2010, 10:38 am
- SWR FUSS Bugfix List 1 1 Kayle
Nibelungen

GroupAdministrators
Posts 1,040
Joined Mar 21, 2006
Bug: Auto-Exits don't check position before moving character.
Danger: Medium - Players can move through auto-exits regardless of their position
Found by: Banner
Fixed by: Sharmair/Kayle
---
Interp.c, interpret
Find:
Change to:
Auto-Exits were not taking position into account before moving characters, so they could get around while asleep using autoexits if they wanted.
Posted Aug 14, 2010, 10:38 am
Danger: Medium - Players can move through auto-exits regardless of their position
Found by: Banner
Fixed by: Sharmair/Kayle
---
Interp.c, interpret
Find:
{
EXIT_DATA *pexit;
/*
* check for an auto-matic exit command
*/
if( ( pexit = find_door( ch, command, TRUE ) ) != NULL && IS_SET( pexit->exit_info, EX_xAUTO ) )
{
if( IS_SET( pexit->exit_info, EX_CLOSED )
&& ( !IS_AFFECTED( ch, AFF_PASS_DOOR ) || IS_SET( pexit->exit_info, EX_NOPASSDOOR ) ) )
{
if( !IS_SET( pexit->exit_info, EX_SECRET ) )
act( AT_PLAIN, "The $d is closed.", ch, NULL, pexit->keyword, TO_CHAR );
else
send_to_char( "You cannot do that here.\r\n", ch );
return;
}
if( check_pos( ch, POS_STANDING ) )
move_char( ch, pexit, 0 );
return;
}
send_to_char( "Huh?\r\n", ch );
}
Change to:
{
EXIT_DATA *pexit;
/*
* check for an auto-matic exit command
*/
if( ( pexit = find_door( ch, command, TRUE ) ) != NULL && IS_SET( pexit->exit_info, EX_xAUTO ) )
{
if( IS_SET( pexit->exit_info, EX_CLOSED )
&& ( !IS_AFFECTED( ch, AFF_PASS_DOOR ) || IS_SET( pexit->exit_info, EX_NOPASSDOOR ) ) )
{
if( !IS_SET( pexit->exit_info, EX_SECRET ) )
act( AT_PLAIN, "The $d is closed.", ch, NULL, pexit->keyword, TO_CHAR );
else
send_to_char( "You cannot do that here.\r\n", ch );
return;
}
move_char( ch, pexit, 0 );
return;
}
send_to_char( "Huh?\r\n", ch );
}
Auto-Exits were not taking position into account before moving characters, so they could get around while asleep using autoexits if they wanted.
Posted Aug 14, 2010, 10:38 am
- SmaugFUSS Bugfix List 1 1 Kayle
Nibelungen

GroupAdministrators
Posts 1,040
Joined Mar 21, 2006
Bug: Auto-Exits don't check position before moving character.
Danger: Medium - Players can move through auto-exits regardless of their position
Found by: Banner
Fixed by: Sharmair/Kayle
---
Interp.c, interpret
Find:
Change to:
Auto-Exits were not taking position into account before moving characters, so they could get around while asleep using autoexits if they wanted.
Posted Aug 14, 2010, 10:37 am
Danger: Medium - Players can move through auto-exits regardless of their position
Found by: Banner
Fixed by: Sharmair/Kayle
---
Interp.c, interpret
Find:
{
EXIT_DATA *pexit;
/*
* check for an auto-matic exit command
*/
if( ( pexit = find_door( ch, command, TRUE ) ) != NULL && IS_SET( pexit->exit_info, EX_xAUTO ) )
{
if( IS_SET( pexit->exit_info, EX_CLOSED )
&& ( !IS_AFFECTED( ch, AFF_PASS_DOOR ) || IS_SET( pexit->exit_info, EX_NOPASSDOOR ) ) )
{
if( !IS_SET( pexit->exit_info, EX_SECRET ) )
act( AT_PLAIN, "The $d is closed.", ch, NULL, pexit->keyword, TO_CHAR );
else
send_to_char( "You cannot do that here.\r\n", ch );
return;
}
move_char( ch, pexit, 0 );
return;
}
send_to_char( "Huh?\r\n", ch );
}
Change to:
{
EXIT_DATA *pexit;
/*
* check for an auto-matic exit command
*/
if( ( pexit = find_door( ch, command, TRUE ) ) != NULL && IS_SET( pexit->exit_info, EX_xAUTO ) )
{
if( IS_SET( pexit->exit_info, EX_CLOSED )
&& ( !IS_AFFECTED( ch, AFF_PASS_DOOR ) || IS_SET( pexit->exit_info, EX_NOPASSDOOR ) ) )
{
if( !IS_SET( pexit->exit_info, EX_SECRET ) )
act( AT_PLAIN, "The $d is closed.", ch, NULL, pexit->keyword, TO_CHAR );
else
send_to_char( "You cannot do that here.\r\n", ch );
return;
}
if( check_pos( ch, POS_STANDING ) )
move_char( ch, pexit, 0 );
return;
}
send_to_char( "Huh?\r\n", ch );
}
Auto-Exits were not taking position into account before moving characters, so they could get around while asleep using autoexits if they wanted.
Posted Aug 14, 2010, 10:37 am
- Coding 1 21 Keirath
Nibelungen

GroupAdministrators
Posts 1,040
Joined Mar 21, 2006
This is one of the reasons I've avoided mass conversion to std::list. You're going to come across issues like this whenever you remove something from a list while iterating over that list.
For the crashing with raw_kill for slay/murder. Can you post your raw_kill, process_input, and the relevant bits of do_slay?
Posted Aug 10, 2010, 4:42 pm
For the crashing with raw_kill for slay/murder. Can you post your raw_kill, process_input, and the relevant bits of do_slay?
Posted Aug 10, 2010, 4:42 pm
- SWR FUSS 1 8 Banner
Nibelungen

GroupAdministrators
Posts 1,040
Joined Mar 21, 2006
You need to double check that the clan names aren't being assigned using str_dup anywhere. They all need to use the same. if you want to use STRALLOC/STRFREE on the clan_name fields, then ALL changes to clan_name need to use STRALLOC/STRFREE, not just the accounts part of things.
Posted Aug 7, 2010, 7:34 am
Posted Aug 7, 2010, 7:34 am
- SWR FUSS 1 27 Banner
Nibelungen

GroupAdministrators
Posts 1,040
Joined Mar 21, 2006
Yeah, I'll get it posted and released hopefully tomorrow after work.
Posted Aug 3, 2010, 5:38 pm
Posted Aug 3, 2010, 5:38 pm
- SmaugFUSS 1 4 sorressean
Nibelungen

GroupAdministrators
Posts 1,040
Joined Mar 21, 2006
For the levels stuff, you can look at how Remcon handled it in LoP, it sounds like he did what you're looking to accomplish. For currency, there's a lot that would go into revising that. You'd need to rework shops, repairshops, loot, and several other things. Some of which are trivial, others not so much so. For flags, most of the flags should be saved as strings in the files, you can look at a pfile, and an area file and see if there are any that aren't saving that way (there shouldn't be any) and then you can go through and remove any flags you don't want.
The easiest way to get a feel for Smaug is to pick a snippet that you think might be appropriate for one of your ideas, and add it to the base, paying attention to what gets modified where, and for what reason. That and asking questions are the easiest ways to learn things.
Smaug is a bit of a mess. But then, so are pretty much all Diku bases. But Smaug more so then others.
Posted Aug 3, 2010, 9:05 am
The easiest way to get a feel for Smaug is to pick a snippet that you think might be appropriate for one of your ideas, and add it to the base, paying attention to what gets modified where, and for what reason. That and asking questions are the easiest ways to learn things.
Smaug is a bit of a mess. But then, so are pretty much all Diku bases. But Smaug more so then others.
Posted Aug 3, 2010, 9:05 am



