Login
User Name:

Password:



Register
Forgot your password?
Vote for Us!
parse description bug
Dec 15, 2017, 10:08 pm
By Remcon
Couple bugs
Dec 12, 2017, 5:42 pm
By Remcon
Bug in disarm( )
Nov 12, 2017, 6:54 pm
By GatewaySysop
Bug in will_fall( )
Oct 23, 2017, 1:35 am
By GatewaySysop
Bug in do_zap( ), do_brandish( )
Oct 18, 2017, 1:52 pm
By GatewaySysop
LOP 1.45
Author: Remcon
Submitted by: Remcon
LOP Heroes Edition
Author: Vladaar
Submitted by: Vladaar
Heroes sound extras
Author: Vladaar
Submitted by: Vladaar
6Dragons 4.3
Author: Vladaar
Submitted by: Vladaar
Memwatch
Author: Johan Lindh
Submitted by: Vladaar
Users Online
CommonCrawl, Yahoo!

Members: 0
Guests: 22
Stats
Files
Topics
Posts
Members
Newest Member
477
3,706
19,240
608
LAntorcha
Today's Birthdays
There are no member birthdays today.
Related Links
» SmaugMuds.org » General » Building » How do I add a spell at 100% ...
Forum Rules | Mark all | Recent Posts

How do I add a spell at 100% to a race or class?
< Newer Topic :: Older Topic >

Pages:<< prev 1, 2 next >>
Post is unread #1 Apr 23, 2009, 12:14 am
Go to the top of the page
Go to the bottom of the page

irbobo
Fledgling
GroupMembers
Posts16
JoinedApr 8, 2009

Is it even possible or do I have to add a snippet in?
       
Post is unread #2 Apr 23, 2009, 1:34 am
Go to the top of the page
Go to the bottom of the page

dbna2
Sorcerer
GroupMembers
Posts600
JoinedDec 2, 2008

It's possible look in the class folder.
       
Post is unread #3 Apr 23, 2009, 6:07 am
Go to the top of the page
Go to the bottom of the page

Zeno
Sorcerer
GroupMembers
Posts723
JoinedMar 5, 2005

What are you asking? You want a skill to max at 100%?
       
Post is unread #4 Apr 23, 2009, 8:19 am
Go to the top of the page
Go to the bottom of the page

tphegley
Magician
GroupMembers
Posts176
JoinedMay 21, 2006

I think the sset command is what you want to do.
       
Post is unread #5 Apr 23, 2009, 8:48 am
Go to the top of the page
Go to the bottom of the page

Hanaisse
Magician
GroupMembers
Posts196
JoinedNov 25, 2007

Spells are added to classes. New spells can be created with the sset create skill command.

Here's a good reference;

(Paraphrased)
Class/level/proficiency fields: These determine what classes, and at what level, can use the spell. The proficiency field determines what degree the class can master it to.
       
Post is unread #6 Apr 23, 2009, 5:00 pm
Go to the top of the page
Go to the bottom of the page

irbobo
Fledgling
GroupMembers
Posts16
JoinedApr 8, 2009

Like for example when a user becomes a dragon give it fireball practiced to 100% straight off the bat.
       
Post is unread #7 Apr 23, 2009, 6:08 pm
Go to the top of the page
Go to the bottom of the page

dbna2
Sorcerer
GroupMembers
Posts600
JoinedDec 2, 2008

You have to make a check for it, in do_practice code.
       
Post is unread #8 Apr 23, 2009, 6:22 pm
Go to the top of the page
Go to the bottom of the page

Zeno
Sorcerer
GroupMembers
Posts723
JoinedMar 5, 2005

When they choose their class/race on creation, it is not going to call do_practice.

You need to add a line of code during char creation to check and set this.
       
Post is unread #9 Apr 24, 2009, 12:31 pm
Go to the top of the page
Go to the bottom of the page

dbna2
Sorcerer
GroupMembers
Posts600
JoinedDec 2, 2008

I misunderstood I thought he wanted that when they were ready to learn it at he wanted them to learn it at 100%
       
Post is unread #10 Apr 25, 2009, 10:01 pm
Go to the top of the page
Go to the bottom of the page

Banner
Magician
GroupMembers
Posts169
JoinedNov 29, 2005

Something of this sort in the char creation process will work, assuming you change the variables to suit your system.

              if( ch->race == RACE_DRAGON)
              {   
                 int sn;
                    for( sn = 0; sn < top_sn; sn++ )
                    {
                       if( !str_cmp( skill_table[sn]->name, "fireball";)
                       {
                          ch->pcdata->learned[sn] = 100;
                       }
              }
       
Post is unread #11 Apr 26, 2009, 7:37 pm
Go to the top of the page
Go to the bottom of the page

irbobo
Fledgling
GroupMembers
Posts16
JoinedApr 8, 2009

Oh wow.. you guys rock. I'm surprised at the amount of interest in something so oldschool. Feels good knowing I'm not the last MUD fan on the face of this planet. lol.
       
Post is unread #12 Apr 26, 2009, 8:47 pm
Go to the top of the page
Go to the bottom of the page

irbobo
Fledgling
GroupMembers
Posts16
JoinedApr 8, 2009

I thought I'd explain this a little further for anyone else having this problem in the future:

I added into (comm.c):
.. into function nanny_read_motd( DESCRIPTOR_DATA * d, const char *argument ):
	  /*
	   * Added Apr 26/2009. Start new characters with practiced word of recall
	   * already at 100% (http://www.smaugmuds.org/index.php?a=topic&t=4032&p=17533)
	   */
	   
		int sn;
		for( sn = 0; sn < num_skills; sn++ )
		{
			if( !str_cmp( skill_table[sn]->name, "word of recall";))
			{
			  ch->pcdata->learned[sn] = 100;
			}
		}


... Just below:
      /*
       * Added by Narn.  Start new characters with autoexit and autgold
       * already turned on.  Very few people don't use those.
       */
      xSET_BIT( ch->act, PLR_AUTOGOLD );
      xSET_BIT( ch->act, PLR_AUTOEXIT );


.. in SmaugFUSS 1.9.
This will add Word of Recall when player is created practiced to 100%. To make sure no problems I added word of recall to each class in the classes folder and set it's adept level to 100%. In the skills.dat in the system folder I changed the level for word of recall to be level 1.
       
Post is unread #13 Apr 26, 2009, 9:07 pm
Go to the top of the page
Go to the bottom of the page

Banner
Magician
GroupMembers
Posts169
JoinedNov 29, 2005

Glad to be of assistance.
       
Post is unread #14 Apr 26, 2009, 9:45 pm
Go to the top of the page
Go to the bottom of the page

tphegley
Magician
GroupMembers
Posts176
JoinedMay 21, 2006

If you wanted to have word of recall at 100% couldn't you have just added a recall command rather then spell and have it work all the time?

Just asking.
       
Post is unread #15 Apr 26, 2009, 10:51 pm
Go to the top of the page
Go to the bottom of the page

irbobo
Fledgling
GroupMembers
Posts16
JoinedApr 8, 2009

I was going to do that but found this to be an easier solution
       
Post is unread #16 Apr 27, 2009, 5:55 am
Go to the top of the page
Go to the bottom of the page

tphegley
Magician
GroupMembers
Posts176
JoinedMay 21, 2006

ok, that's fine. but even word of recall will sometimes fail plus it uses mana. You said all classes will have this. Some classes will have a better advantage (albeit not that big with word of recall) with it.
       
Post is unread #17 Apr 27, 2009, 9:16 am
Go to the top of the page
Go to the bottom of the page

Banner
Magician
GroupMembers
Posts169
JoinedNov 29, 2005

I'd like to point out for anyone else that may find this topic useful, I missed a bracket in my earlier post. It should read:

              if( ch->race == RACE_DRAGON)
              {   
                 int sn;
                    for( sn = 0; sn < top_sn; sn++ )
                    {
                       if( !str_cmp( skill_table[sn]->name, "fireball";)
                       {
                          ch->pcdata->learned[sn] = 100;
                       }
                    }
              }
       
Post is unread #18 Apr 27, 2009, 10:27 am
Go to the top of the page
Go to the bottom of the page

Zeno
Sorcerer
GroupMembers
Posts723
JoinedMar 5, 2005

I don't understand why a for loop is done for this. It can be done in one line.
       
Post is unread #19 Apr 27, 2009, 11:04 am
Go to the top of the page
Go to the bottom of the page

David Haley
Sorcerer
GroupMembers
Posts903
JoinedJan 29, 2007

And if a for loop is used, it should definitely break after the correct entry has been found.
       
Post is unread #20 Apr 27, 2009, 7:13 pm
Go to the top of the page
Go to the bottom of the page

Banner
Magician
GroupMembers
Posts169
JoinedNov 29, 2005

That's how it's done in my MUD. How can you find the skill without doing a for loop?
       
Pages:<< prev 1, 2 next >>