Login
User Name:

Password:



Register
Forgot your password?
LOP 1.39r1
Author: Remcon
Submitted by: Remcon
Yaeger areas
Author: Yaeger
Submitted by: Cyberthrope
The City of Anon
Author: Yaeger
Submitted by: Cyberthrope
The Walls of Anon - Smaug
Author: Yaeger
Submitted by: Cyberthrope
LOP 1.39
Author: Remcon
Submitted by: Remcon
CommonCrawl, Google, Daygon, Yandex, Yahoo!, Sogou, Keirath

Members: 2
Guests: 2
Stats
Files
Topics
Posts
Members
Newest Member
375
3,323
16,512
561
Aurin
Affiliates
Smaug Building Institute Arthmoor
Search Results
  Topic / Forum Posts Matches Starter [Bug] Auto-Exits don't check position before moving character.
- SWFOTE FUSS Bugfix List
1 1 Kayle



This member is currently offline Kayle
Nibelungen Member Level
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:
      {
         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
       

[Bug] Space Combat Skills use wrong modifier
- SWFOTE FUSS Bugfix List
1 1 Kayle



This member is currently offline Kayle
Nibelungen Member Level
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:
    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
       

[Bug] Auto-Exits don't check position before moving character.
- SWR FUSS Bugfix List
1 1 Kayle



This member is currently offline Kayle
Nibelungen Member Level
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:
      {
         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
       

[Bug] Auto-Exits don't check position before moving character.
- SmaugFUSS Bugfix List
1 1 Kayle



This member is currently offline Kayle
Nibelungen Member Level
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:
      {
         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
       

SWR Makeskills and obj std::list
- Coding
1 21 Keirath



This member is currently offline Kayle
Nibelungen Member Level
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
       

Help with garbage variables
- SWR FUSS
1 8 Banner



This member is currently offline Kayle
Nibelungen Member Level
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
       

move_char bug with positions
- SWR FUSS
1 27 Banner



This member is currently offline Kayle
Nibelungen Member Level
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
       

getting started with Smaug
- SmaugFUSS
1 4 sorressean



This member is currently offline Kayle
Nibelungen Member Level
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
       

<< prev 1, 2, 3, 4, 5 ... next >>
 
Contact Us