CoPaP Forum Index CoPaP
 A community of linked Neverwinter Nights worlds. 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 
 RegisterRegister   Log inLog in 
The time now is Tue Jan 22, 2019 4:41 pm
All times are UTC - 5
View posts since last visit
View unanswered posts
 Forum index » Development » CoPaP: Systems Compliance
Magic System
Post new topic   Reply to topic View previous topicView next topic
Page 1 of 1 [23 Posts]  
Author Message
dougnoel
Groundling

Joined: 17 Jul 2004
Posts: 95
Location: VA
 Magic System

Avlis has begun implementation of a Spellhooking system to hook every single spell. Information on where to find these files and how to install them can be found here: http://www.avlis.org/devwiki/index.php/Magic_System. Information given to players on the updates can be found on the Avlis boards here: http://www.avlis.org/viewtopic.php?t=48332. (You can find the old thread here.) What follows are our reasons and goals for implementing this system. Hopefully this information will help you decide whether or not you wish to implement this system on your server(s).

1.) Removing visual effects for spells that do not have them in PnP.
This is something that was done quite a while ago. In addition to staying true to PnP, less visual effects means less lag for players with slower clients. Most of the visual effects removed were on buff spells. I have hooked these changes but have held off adding them until I can add in an On/Off switch for worlds that do not wish to use this feature.

2.) Changing spells for balance reasons.
Some of these changes were done in the past and are being ported over to the new system. Along with changes to true seeing, all death spells were changed to work with the Avlis death system.

3.) Adding in new functionality.
This includes implementing a new UMD System, spell sharing with familiars, new enchanting system, new metamagic feats, dynamic scrolls, potions, wands, rods and staves, IC-based restrictions on spellcasters and more.

After checking out the information in the links above, please post here if you have any further questions.

Doug
Avlis Systems Coder

PostPosted: Mon Dec 27, 2004 10:33 pm
Last edited by dougnoel on Wed Mar 02, 2005 10:04 am; edited 1 time in total
 View user's profile Send private message
 Back to top 
Serpentax
Spelljammer

Joined: 29 Feb 2004
Posts: 151
Location: Abyss 404
1- i noticed a deity based system for clerics is being implemented..

to quote the avlis board
Quote:
"When casting divine spells on Avlis, you must have a valid Avlis deity in your deity field to cast spells above 2nd level (3rd level as of version 1.4.) "


Does this mean only Avlis clerics will be able to cast above 3rd lvl ? or will the "valid list" include powers that have wider scale,
i can see this putting a very rapid stop to cleric players wandering the planes if it means a lvl 20 character is reduced to the spellcasting power of a lvl 5 one.

also, where would clerics of "near deities" stand like a cleric of Orcus or one of the Nine ? would they have no power outside their home plains ?
just wondering ...

2- Spellsharing with familiars ?
this "effects them too" does it work on spells that are normally caster only ?
if so i see serious abuse of that to tank up panthers or similar with self effecting spell..
stoneskined panther with elemental shield ? ICK

ps: spellhooks and the rest look nice, and the pnp true spells are definatly a good move Very Happy[/quote]

PostPosted: Wed Dec 29, 2004 5:32 pm
 View user's profile Send private message
 ICQ Number 
 Back to top 
Orleron
Multiverse Scholar


Joined: 10 Nov 2003
Posts: 1252
Location: Avlis
The spell system will in fact do that, yes. It is in line with D&D rules for planar and planetary travel, which state that a deity's influence only extends throughout the crystal sphere where his home planet is, as well as the entirety of the outer planes. So yes, if you have Wee jas as your deity and you come to Avlis, you lose contact with that god and can only cast up to 3rd level. There are no equivalents, to your point about Orcus.

Will this make cleric travel to Avlis more difficult? Yep. However it will not make it impossible, because it is very easy to convert to an Avlis deity by talking to the priests at the local temple. There have been conversion conversations in place for a long time now.

The other thing you can do with this system is use it to deny spells to individual clerics on your own world if they have forsaken their deity or made it angry for plot reasons. Very handy for DM interaction.

Also, this is not a mandatory system, of course. It's here if you want it, and if you don't, that's fine too.
_________________
Avlis: http://www.avlis.org

"My name is Orleron...a dungeonmaster...two years ago I got shot through a game client...I'm in a distant part of the internet aboard these servers of escaped mental patients...my players. I've made enemies, stupid, and annoying...now all I want to do is make CoPaP a reality, to warn Earth...Look inward(to your monitor) and share the newbies I've seen..."

PostPosted: Wed Dec 29, 2004 11:21 pm
 View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
 ICQ Number 
 Back to top 
Orleron
Multiverse Scholar


Joined: 10 Nov 2003
Posts: 1252
Location: Avlis
Btw, the system will also allow you to deny spells to individual mages if you wish to do so for plot reasons.
_________________
Avlis: http://www.avlis.org

"My name is Orleron...a dungeonmaster...two years ago I got shot through a game client...I'm in a distant part of the internet aboard these servers of escaped mental patients...my players. I've made enemies, stupid, and annoying...now all I want to do is make CoPaP a reality, to warn Earth...Look inward(to your monitor) and share the newbies I've seen..."

PostPosted: Wed Dec 29, 2004 11:22 pm
 View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
 ICQ Number 
 Back to top 
Arkonswrath
Ambassador: Hala


Joined: 26 May 2004
Posts: 451
Orleron wrote:
The spell system will in fact do that, yes. It is in line with D&D rules for planar and planetary travel, which state that a deity's influence only extends throughout the crystal sphere where his home planet is, as well as the entirety of the outer planes.


Does this mean that if you have an Avlissian God, or an Outer Planes related God, that the Sphere of Influence of the Avlissian God extends into the Outer Plane/Death Plane and vice versa?

PostPosted: Thu Dec 30, 2004 4:09 pm
 View user's profile Send private message
 Back to top 
Sarrena
World Leader: Abyss404

Joined: 15 Jun 2004
Posts: 159
Dont suppose you have a version of this with only options one and two active Smile
_________________
World Leader : Abyss 404

PostPosted: Thu Dec 30, 2004 6:58 pm
 View user's profile Send private message MSN Messenger
 ICQ Number 
 Back to top 
dougnoel
Groundling

Joined: 17 Jul 2004
Posts: 95
Location: VA
Sarrena wrote:
Dont suppose you have a version of this with only options one and two active Smile

There are On/Off switches for all of these features, so yes. Smile The switches can be found in avlis_spellhook, copap_magic_inc, copap_splchk_inc and x2_pc_umdcheck. You can also just delete x2_pc_umdcheck and that will remove the UMD and share spell functionality.

The share spell is a nice idea, but it has become one of my biggest headache as far as bugs.

The current version, 1.4.3, does not have the visual effects removed. I'm hoping to place those in 1.5 (the next version). I have actually held back on putting them in becuase there's no on/off switch for the visual effects - I just deleted the lines Aloro commented out. So I have to go back over the 30 or so spells and fix that.

Also, the implementation of the deity checking code requires a table containing all the deities that grant spells. The table is further broken down by class: cleric/druid/ranger/paladin/blackguard - but currently that's optional info.

I plan to include insturctions on the wiki page about how to turn on/off each feature and how to configure it for your worlds. The code is pretty well commented though, so it should be too hard to figure out how to turn things oof. If you do find something that doesn't have a switch, please let me know and I'll add it in. And if you tell me soon, I'll try and get it into the next version. Smile

Another thing to keep in mind is if you have a custom version of a spell you like better, you have two options. The first is to replace the spellhooking code I have written for that spell. The second is to delete my code for that spell and use an existing custom script.

Say, for example, that you ahev a custom GMW script and find our nerfing of the spell to be too harsh. You can delete the GMW block, which is clearly defined, and your old script will take over. The one drawback to this option is you will not be able to take advantage of some of the features I am adding, such as multiple metamagic feats on one spell, elemental substitution, and correct level calculation for palemasters to name a few.

PostPosted: Thu Dec 30, 2004 10:15 pm
 View user's profile Send private message
 Back to top 
Sarrena
World Leader: Abyss404

Joined: 15 Jun 2004
Posts: 159
How are you getting elemetnal sub too work and multi meta on spells?
_________________
World Leader : Abyss 404

PostPosted: Fri Dec 31, 2004 12:58 pm
 View user's profile Send private message MSN Messenger
 ICQ Number 
 Back to top 
dougnoel
Groundling

Joined: 17 Jul 2004
Posts: 95
Location: VA
Sarrena wrote:
How are you getting elemetnal sub to work and multi meta on spells?

I've replaced the metamagic checks with unary checks that allow multiple metamagic feats to be stored in one integer. Then instead of an if-else statement, the statements are successive if statements.

The elemental substitution required the addition of code to switch the elemental damage and visual effects of all spells that can be affected. In the case of multiple elements being specified, there is an oreder of precedence which decides which element is dominant.

To actually use more than one metamagic effect, I have created metamagic rods. These rods are charged items and are intended to be gold sinks, costing a minimum of a few hundred gold/charge. Using a rod sets a local variable on the caster which is stripped the next time a spell is cast and added to the effects of that spell. If the metamagic effects are not compatible with that spell (or that spell hasn't been hooked yet) the charges are wasted.

PostPosted: Fri Dec 31, 2004 9:01 pm
 View user's profile Send private message
 Back to top 
dougnoel
Groundling

Joined: 17 Jul 2004
Posts: 95
Location: VA
Here's the new code used to set and check for additional metamagic feats.
Code:
// Sets a local variable on the caster so that the next spell cast uses the
// metamagic feat passed.
void UseMetamagicFeat(object oCaster, int iMetaMagicFeat)
{
    SetLocalInt(oCaster, "SHS_MetamagicFeats", BitwiseSet(GetLocalInt(oCaster, "SHS_MetamagicFeats"), iMetaMagicFeat));
    if (DEBUG) SendMessageToPC(oCaster, "Meatmagic Feat Set: " + IntToString(GetLocalInt(oCaster, "SHS_MetamagicFeats")));
}


// Returns an int that contains all the metamagic feats used to cast a spell.
int SetMetamagicFeatsUsed(object oCaster, int iMetaMagicFeat)
{
    int iNewFeats = GetLocalInt(oCaster, "SHS_MetamagicFeats");
    if (DEBUG) SendMessageToPC(oCaster, "New Feats Recalled: " + IntToString(iNewFeats));
    int iReturn =  BitwiseSet(iNewFeats, iMetaMagicFeat);
    if (DEBUG) SendMessageToPC(oCaster, "SetMetamagicFeatsUsed() Returning Value: " + IntToString(iReturn));

    return iReturn;
}


// Takes iMetaMagic and does a bitwise compare to iFeat to determine whether or
// not iFeat was used when casting the spell.
int GetWasMetamagicFeatUsed(int iMetaMagic, int iFeat)
{
    // The bitwise compare allows us to determine whether or not multiple
    // Metamagic feats were used on the same spell.
    return BitwiseTest(iMetaMagic, iFeat);
}


// Does a bitwise test to determine whether or not iNumber has iValue bit set.
// Returns TRUE (1) or FALSE (0).
int BitwiseTest(int iNumber, int iValue)
{
    if ((iNumber & iValue) == iValue)
        return TRUE;
    else
        return FALSE;
}


// Takes the bits set in iValue and turns on those bits in iNumber.
// Returns new iNumber.
int BitwiseSet(int iNumber, int iValue)
{
    iNumber = iNumber | iValue;
    return iNumber;
}


PostPosted: Fri Dec 31, 2004 9:05 pm
 View user's profile Send private message
 Back to top 
Orleron
Multiverse Scholar


Joined: 10 Nov 2003
Posts: 1252
Location: Avlis
An updated version of this system is here:

http://www.incarceri.com/wiki/index.php/Spellhooking_Version_1.5:_spellhook020705.erf

If you use this system, feel free to go get the update.

Info on the fixes is in the link.
_________________
Avlis: http://www.avlis.org

"My name is Orleron...a dungeonmaster...two years ago I got shot through a game client...I'm in a distant part of the internet aboard these servers of escaped mental patients...my players. I've made enemies, stupid, and annoying...now all I want to do is make CoPaP a reality, to warn Earth...Look inward(to your monitor) and share the newbies I've seen..."

PostPosted: Mon Feb 07, 2005 6:49 pm
 View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
 ICQ Number 
 Back to top 
dougnoel
Groundling

Joined: 17 Jul 2004
Posts: 95
Location: VA
The wiki has moved and we have a new thread on spellhooking in the Avlis forums. I've edited my first post to contain this new information. I lefet the link to the old thread in as well. Also, I have decided (for the time being) not to retroactively add a witch to turn additional visual effects on/off. I may have a sub do this, but I deleted the VFX code for about 40 spells to reduce the number of variables used before I realized I could do scoping inside a switch statement. Anyway, if this is a big issue for anyone who uses/wnats to use this code, please let me know and I will get a sub on it. All other systems have switches.

Here is an updated link for Orl's previous post: http://www.avlis.org/devwiki/index.php/Spellhooking_Version_1.5:_spellhook020705.erf.

Doug

PostPosted: Wed Mar 02, 2005 10:11 am
 View user's profile Send private message
 Back to top 
Nob
Spelljammer

Joined: 24 Nov 2003
Posts: 222
Is there a list of spells already hooked to be added to the "delete these scripts" list?

And is deleting the scripts still necessary?

PostPosted: Fri Mar 04, 2005 2:42 am
 View user's profile Send private message
 Back to top 
Mistcaller
Groundling

Joined: 25 Nov 2003
Posts: 140
Location: Avlis Team - Tairis'nadur Team
Deleting the custom scripts is required because they are outdated versions of the spells (before HotU or SoU) and they do not include the "hooking" command.
Which means that the system will use those spell versions, instead of the hooked ones.

PostPosted: Fri Mar 04, 2005 4:40 am
 View user's profile Send private message
 Back to top 
dougnoel
Groundling

Joined: 17 Jul 2004
Posts: 95
Location: VA
Nob wrote:
Is there a list of spells already hooked to be added to the "delete these scripts" list?

All the hooked spells as of 1.5 are listed on the player Wiki. You can find it here: http://avlis.org/wiki/.

Nob wrote:
And is deleting the scripts still necessary?

You only need to delete scripts if your world has custom scripts. If you don't have custom scripts for spells, then this step is unecessary. But like Mist said, if you have old pre-spellhooking spell scripts, they will override spellhooking.

PostPosted: Fri Mar 04, 2005 10:47 am
 View user's profile Send private message
 Back to top 
dougnoel
Groundling

Joined: 17 Jul 2004
Posts: 95
Location: VA
I have added two new pages to the Wiki to help people implement this system http://www.avlis.org/devwiki/index.php/Magic_System. The first is information on all scripts that should be deleted: http://www.avlis.org/devwiki/index.php/Shs:Old_Scripts. The second is information on how to set up vendors that come with the system and information on CoPaP-wide price balancing of these vendors: http://www.avlis.org/devwiki/index.php/Shs:Setting_Up_Vendors.

PostPosted: Wed Mar 30, 2005 2:26 pm
 View user's profile Send private message
 Back to top 
Baron
Ambassador: Ithilla

Joined: 07 Jan 2005
Posts: 99
Location: Somewhere over the rainbow
dougnoel wrote:
I have added two new pages to the Wiki to help people implement this system http://www.avlis.org/devwiki/index.php/Magic_System. The first is information on all scripts that should be deleted: http://www.avlis.org/devwiki/index.php/Shs:Old_Scripts. The second is information on how to set up vendors that come with the system and information on CoPaP-wide price balancing of these vendors: http://www.avlis.org/devwiki/index.php/Shs:Setting_Up_Vendors.


tried reading those things you linked to - i got a password box and

Quote:
Authorization Required
This server could not verify that you are authorized to access the document requested. Either you supplied the wrong credentials (e.g., bad password), or your browser doesn't understand how to supply the credentials required


Ithilla will be coming on-line soon and we absolutely have to have these things in place...i may have an earlier version of the spellhooking in place but i have no idea if the required to be deleted scripts have been deleted or anything else.
_________________
The Lord's Prayer is 66 words, the Gettysburg Address is 286 words,there are 1,322 words in the Declaration of Independence, but government regulations on the sale of cabbage total 26,911 words.

PostPosted: Wed Mar 30, 2005 3:09 pm
 View user's profile Send private message Visit poster's website
 ICQ Number 
 Back to top 
dougnoel
Groundling

Joined: 17 Jul 2004
Posts: 95
Location: VA
Baron wrote:
tried reading those things you linked to - i got a password box and

No problem. The login/password is in the CoPaP subcontractor forum. If you don't have access to that forum, apply and Orl will add you.

I've also updated the publis wiki with a full description of the system for the players.
Introduction

Also, feel free to update the Current Versions on Servers area and add your server if you're using this system.

PostPosted: Wed Mar 30, 2005 4:01 pm
 View user's profile Send private message
 Back to top 
Orleron
Multiverse Scholar


Joined: 10 Nov 2003
Posts: 1252
Location: Avlis
Ithilla will actually have two currency systems, a gold one and a latinum one, but I digress. Smile
_________________
Avlis: http://www.avlis.org

"My name is Orleron...a dungeonmaster...two years ago I got shot through a game client...I'm in a distant part of the internet aboard these servers of escaped mental patients...my players. I've made enemies, stupid, and annoying...now all I want to do is make CoPaP a reality, to warn Earth...Look inward(to your monitor) and share the newbies I've seen..."

PostPosted: Wed Mar 30, 2005 4:49 pm
 View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
 ICQ Number 
 Back to top 
teleri
World Leader: The Outlands


Joined: 01 Jul 2004
Posts: 532
Location: Sigil
Added an entry for the Outlands to the "Current Versions on Servers" as well as a Section for non-avlis servers to place their status. (:
_________________
Cheers,
teleri

Building the Outlands one GateTown at a Time
The Outlands
The Look of PlaneScape

PostPosted: Wed Mar 30, 2005 5:23 pm
 View user's profile Send private message Visit poster's website
 Back to top 
Sarrena
World Leader: Abyss404

Joined: 15 Jun 2004
Posts: 159
I'm working to add the avlis spell system into Abyss soon. Just tweaking a few things and it'll be rather lovely.

I'm also finishing up a new little set of summoning functions I hope to release in a week. for those interested.
_________________
World Leader : Abyss 404

PostPosted: Wed Mar 30, 2005 10:49 pm
 View user's profile Send private message MSN Messenger
 ICQ Number 
 Back to top 
dougnoel
Groundling

Joined: 17 Jul 2004
Posts: 95
Location: VA
ftp/shs_1_6_0_3.rar
ftp/includes_1_0_sm.rar OR includes_1_0.erf

This is version 1.6.0.3 of the spellhooking system. This is a full version, meaning previous versions are not needed to install this version.
For import into all modules. Import and overwrite all.

NOTE: There are a few new include files which I put in their own package because some people have some of them and may not want to overwrite them.

What it Contains/How To Install:
http://www.avlis.org/devwiki/index.php/Spellhooking_Version_1.6.0.3:_shs_1_6_0_3.erf

PostPosted: Thu Mar 31, 2005 7:39 am
 View user's profile Send private message
 Back to top 
IAkrai
Noobie

Joined: 16 Aug 2004
Posts: 2
Sorry for not posting earlier, i wanted to have a stable version first.
Spellhooking is now in version 1.7.2.2.
1.7.2.0 is a full version, you will need to take it and then patch up to 1.7.2.2
The rars are in the ftp, Systems/Spellhooking: shs_1_7_2_0.rar, shs_1_7_2_1.rar and shs_1_7_2_2.rar

Information about them are in:
http://www.avlis.org/devwiki/index.php/Spellhooking_Version_1.7.2.0:_shs_1_7_2_0.erf, http://www.avlis.org/devwiki/index.php/Spellhooking_Version_1.7.2.1:_shs_1_7_2_1.erf and http://www.avlis.org/devwiki/index.php/Spellhooking_Version_1.7.2.2:_shs_1_7_2_2.erf

You will need to overwrite all and recompile.
If you have any question feel free to ask Smile

PostPosted: Wed Nov 09, 2005 5:41 pm
 View user's profile Send private message
 Back to top 
Display posts from previous:   Sort by:   
Page 1 of 1 [23 Posts]  
Post new topic   Reply to topic View previous topicView next topic
 Forum index » Development » CoPaP: Systems Compliance
Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group
[ Time: 0.2265s ][ Queries: 12 (0.0616s) ][ GZIP on - Debug on ]