Login
User Name:

Password:



Register

Forgot your password?
Changes list / Addchange
Author: Khonsu
Submitted by: Khonsu
6Dragons mp3 sound pack
Author: Vladaar
Submitted by: Vladaar
AFKMud 2.2.3
Author: AFKMud Team
Submitted by: Samson
SWFOTEFUSS 1.5
Author: Various
Submitted by: Samson
SWRFUSS 1.4
Author: Various
Submitted by: Samson
Users Online
DotBot, AhrefsBot

Members: 0
Guests: 17
Stats
Files
Topics
Posts
Members
Newest Member
488
3,788
19,631
595
Khonsu

Today's Birthdays
There are no member birthdays today.
» SmaugMuds » 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 2: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 3:34 am   
Go to the top of the page
Go to the bottom of the page

dbna2
Sorcerer
GroupMembers
Posts600
JoinedDec 3, 2008

 
It's possible look in the class folder.

Post is unread #3 Apr 23, 2009 8: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 10: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 10: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 7: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 8:08 pm   
Go to the top of the page
Go to the bottom of the page

dbna2
Sorcerer
GroupMembers
Posts600
JoinedDec 3, 2008

 
You have to make a check for it, in do_practice code.

Post is unread #8 Apr 23, 2009 8: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 2:31 pm   
Go to the top of the page
Go to the bottom of the page

dbna2
Sorcerer
GroupMembers
Posts600
JoinedDec 3, 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 26, 2009 12:01 am   
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 9: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 10: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://smaugmuds.afkmods.com/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 11: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 11: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 27, 2009 12:51 am   
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 7: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 11: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 12:27 pm   
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 1:04 pm   
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 9: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 >>