Mik Drad's Teleportation Suit v1.0 final (or, Colocation for fun and profit)
In order to use these, 5 steps are necessary;
1) unzip the files
2) place the .2DA files in your Documents and Settings/Neverwinter Nights 2/Override folder
3) place dialog2.TLK in Documents and Settings/Neverwinter Nights 2/tlk
4) place dialog2 (with no extension) in your NWN2 install folder, where dialog.TLK is.
5) place the ERF file somewhere you know where to find it (I put them in /modules, personally), and import the ERF into your module. Make sure all scripts are compiled before running.*
As always, you must know... this will effect all games played on that machine henceforth, so if you do not wish to be able to teleport in your other games, reverse the above process to remove this package.
* - You may note that all spell and combat-related scripts exist as module resources. Messy, I know... but necessary for the combat and rest conditions to occur properly. Hopefully to be chunked out after patch 1.04.
Arcane mark allows the imprinting of a location, to provide a target for higher level spells (eg Scry). Through mystical study and focus, you imprint the local area into your mind... effectively "marking" it as familiar.
Wizard Eye
Caster Level(s): Wizard / Sorcerer 2
Innate Level: 2
School: Divination
Descriptor(s):
Component(s): Verbal, Somatic
Range: Long
Area of Effect / Target: Target
Duration: 1 Second/level
Save: None
Spell Resistance: No
Wizard Eye allows the caster to magically view their surroundings.
Upon invocation of the Wizard Eye spell, a Scry Sensor is created at the targetted location. The Caster's consciousness is projected into the Scry Sensor, and they can move and observe freely until the spell expires (1 Second/Level).
They are unable to cast spells, and may only percieve what would normally be visible to them.
The Scry Sensor represents the focussed intent of the caster; as such, if any hostile intent is directed towards it, it will be destroyed.
The Scry Sensor is minute and invisible, but creatures able to see invisible objects may become aware of it.
If the Scry Sensor is destroyed or dispelled, the spell effect ends and the caster is returned to their body.
Dimension Door
Caster Level(s): Wizard / Sorcerer 4
Innate Level: 4
School: Conjuration
Descriptor(s):
Component(s): Verbal
Range: Long
Area of Effect / Target: Target
Duration: Instant
Save: None
Spell Resistance: No
Dimension Door allows the caster to magically transport to a location within line-of-sight.
Upon invocation of the Dimension Door spell, the caster vanishes from their current location, and immediately appears at the targetted location. All of the caster's personal effects are effected by Dimension Door, but any party members, companions or henchmen are not.
Scry
Caster Level(s): Wizard / Sorcerer 4, Cleric 4, Druid 4, Bard 3
Innate Level: 4
School: Divination
Component(s): Verbal, Somatic
Range: Special
Area of Effect / Target: Caster
Duration: 1 Round / level
Save: None
Spell Resistance: No
Scry allows the caster to magically view a previously determined location.
An arcane mark is required (lvl 0). Upon invocation of the Scry spell, a Scry Sensor is created at the selected Arcane Mark. The Caster's consciousness is projected into the Scry Sensor, and they can move and observe freely until the spell expires (1 Round/Level).
They are able to cast a limited number of spells, including Darkvision, Find Traps and True Seeing. Any other spell is disruptive to the ethereal nature of the sensor; as such, attempting to cast any other spell will destroy it.
The Scry Sensor represents the focussed intent of the caster; as such, if any hostile intent is directed towards it, it will be destroyed.
The Scry Sensor is minute and invisible, but creatures able to see invisible objects may become aware of it.
If the Scry Sensor is destroyed or dispelled, the spell effect ends and the caster is returned to their body.
Teleport
Caster Level(s): Wizard / Sorcerer 5
Innate Level: 5
School: Conjuration
Descriptor(s):
Component(s): Verbal
Range: Special
Area of Effect / Target: Self
Duration: Instant
Save: None
Spell Resistance: No
Teleport allows the caster to magically transport to a previously determined location.
An arcane mark is required (Wiz/Sorc lvl 0). Upon invocation of the Teleport spell, the caster vanishes from their current location, and immediately appears at the marked location. Distance is irrelevant; all of the caster's personal effects are effected by Teleport, but any party members, companions or henchmen are not.
Complete concentration is necessary to successfully teleport. Without proper concentration, an error may occur (the result of accidentally reforming inside another solid object). Upon arrival to the new destination, a concentration check (DC 25) is made to make sure that no error occurred. In the case of an error, the following rolls are made;
1) 90% chance of normal error (caster takes damage equal to their level, and are returned to the original casting point)
2) 10% chance of a terrible error occurring (caster takes damage equal to 4 times their level, and one of the following);
2a) 50% chance of being sent to another of their arcane marks
2b) 50% chance of being sent to a random location in the same area
Teleport without error
Caster Level(s): Wizard / Sorcerer 7
Innate Level: 7
School: Conjuration
Descriptor(s):
Component(s): Verbal
Range: Special
Area of Effect / Target: Self
Duration: Instant
Save: None
Spell Resistance: No
Teleport without error functions as the 5th level spell Teleport, except there is no chance for error.
Teleportation Circle
Caster Level(s): Wizard / Sorcerer 9
Innate Level: 9
School: Conjuration
Descriptor(s):
Component(s): Verbal, Somatic
Range: Special
Area of Effect / Target: Party
Duration: Instant
Save: None
Spell Resistance: No
Teleportation Circle functions as the 7th level spell Teleport without error, except all of the caster's party members within a 10 ft radius will be likewise transported.
Projected Revisions:
1) Changing the Mark Selection to use maps instead of dialog
2) Changes to content, pending 1.04 patch
This is the release v1.0 version of the 2DA, TLK, conversation, and blueprints for placeables, creatures, and items (including pregenerated scrolls for the spells) necessary to make use of the Most Noteworthy Mik Drad's Teleportaion Suite (or: Colocation for Fun and Profit).
since you could only scry someone you have met before, or otherwise know about from lore or dialog, I don't think it would be too likely that someone could try to scry someone that doesn't exist yet. _________________________ The only constant thing is change. Well, that and... Planck's Constant...
Nice ideas. I just read your last comment about scrying a person. Would that be a problem if the person being scryed is spawned upon entering an area? I guess if the location itself is the saved part and not the NPC itself then I guess that would work.
Well, patch 1.04 didn't address the map notes like I had hoped. They are talking about an "updateable" stand-alone server, which may allow hosting a campaign... but, the danged mapnotes still don't refresh!
Aaah well. I have an ambitious new idea in mind for this project... which connects to previous posts, both here an on bioware's forums...
I am going to make moves to do away with "arcane mark", or at least it's need to these spells.
If you read about the spells in D&D, you actually scry a PERSON, it is not until higher levels that you gain the ability to simply scry a location. I have decided that there may be in-game resources (ie an array) that would allow me to not only remember everyone ever clicked on, but prioritize them in order of number of times clicked on. MAY be... I am looking into it.
If THAT works, then I will try to do the same things with location... the problem with this is, it may require the module designer to place a buttload of waypoints for potential target locations. Maybe, create a right-click menu option to study a spot...?
I may be able to run some kind of self-contained cyclic heartbeat, that pays attention to how long you spend in one spot... and after a period of time, "ups" the familiarity level, until a teleport becomes possible.
Big scripting, and a royal pain in one's keyster... but I think in the long run, it would improve the flavour of the game.
I may keep arcane mark, but simply for the reason it was originally intended... to be used like a trail of breadcrumbs. Making the mark will contribute towards an area's familiarity rating, not GIVE it one. _________________________ The only constant thing is change. Well, that and... Planck's Constant...
I use this and the Spell Points mod, which both change spells.2DA, so I just took the added spells that you stuck at the end and shoved them into the spells.2DA file from the other mod to consolidate them and make sure they'll work together. I have no idea what happens if you have two copies of the same 2DA in your Override folder, and I don't care to find out.
oh yeah if there are any other mods you need to apply, do them after this one. You want your new custom spells to replace the ones I have imported into the module. _________________________ The only constant thing is change. Well, that and... Planck's Constant...
Oh BTW, don't forget to name dialog2 in the custom TLK file spot in your module properties. Not dialog2.tlk... just dialog2. _________________________ The only constant thing is change. Well, that and... Planck's Constant...
Whew.. finally done, at least version 1.0. It works seamlessly for me. Enjoy. _________________________ The only constant thing is change. Well, that and... Planck's Constant...
> I don't see why you can't simply use a database to do this.
Yeah, I was going to use a DB interface, but I was faced with a unique problem; our database server is not-to-be-used for things like this (ulp). Also, when I started, I was going to try to minimize modifications to things like 2DA files. Wow, I was dreaming.
As it stands, the locations and things are stored in local variables on the players themselves. Without getting in to the blow-by-blow, theres 2 main points to this, a pro and a con;
CON) in NWN1, local variables saved with PCs (or was it their items?) - anyway, what it means is, I am not sure if the local variables will live through a server restart.
PRO) it gives rise to all sorts of neat ideas, like a wizard teleporting a party member to his arcane mark... or an enemy... (still working on the enemy one, it means including a saving throw and making it a hostile spell)
>You could even make a spell "group" teleport that teleports the entire party to your teleport variable.
That was actually the original version of the spell, and I cut it back to target only. The code still exists in the script, remarked out... I left it in for "Teleportation Circle", an 8th level spell. Since implementing it is simply a matter of cutting and pasting, I am waiting until I iron everything out first, before I add it.
>If you did it this way I don't see why you would need a bunch of modifications
Coz I need to make a "state" or rather, "effect" called something like "EFFECT_TYPE_SCRY" or something. This is so that the state will properly dispel on rest, dispel, or attack... much the way invisibility does. Having the effect dispel will involve destroying the "clone", and re-locating to the casting spot. Since the code doesn't exist in the core engine for processing this, it is taking some poking and prodding.
Currently my answer is to make OnRest, OnHit and OnCast scripts to wedge in checks for what I am after. That is messy and lacks finesse, much like my typing... so I would rather integrate it with the system completely and let the pre-coded routines look after it. Admittedly, I am just about ready to give up, since I can't seem to find where the effect code is defined. I think it is buried in the game engine. I hope not.
> (but can't that go into the override folder so your users don't have to download it?)
Hmm, as far as i know, any 2DA file will have to be D/L'd sepeartely, either if they are by themselves or in a HAK. I am not sure if I can put the TLK file in a HAK. In fact, I am not impressed with my implementation of the TLK file. It doesn't want to work right in the OC. Why? Why? Why.....?...>*<
As it stands, the 2DA files DO go in the override folder.
> Wizard's Eye is a little glitchy anyway.
Hm, glitchy? Oh, I see, you must have tried it between areas... it's duration is 1 sec/level (or is it round?) so generally, switching areas, with the load time, eats it all up. It's only really useful for the area you are currently in ... perhaps I should limit it as such. Try it in the same area, you will see it's point.
Wizard Eye does not allow you to cast spells. Scry does. Part of what I have to do is limit the spells castable, to mimic the ones that a Scry spell SHOULD allow. That's a bit of work... but, Wizard Eye in PnP is just supposed to allow you to have a quick look around a corner.
I am just trying to make the spells the same as they are (or close) in the Player's Hand book, of PnP DND.
Yeah, now that I am thinking about it, maybe Wizard Eye shouldn't allow you to pick a mark, just spawn at your feet.
> ... to increase fluidity, I really suggest that you only allow a single Arcane Mark at a time. It's probably a nice ability to be able to cover the countryside in your marks, but you won't have need of the annoying thing that asks you which mark to go to.
I think you may be right about the many marks. Although it is controllable when you only get like 4 or 5 of them, I have allowed for there to be as many as twenty (that's the ability modifier for 50 intelligence, I doubt anyone will come up with a way of beating THAT). The code is processing it properly... at 20 intel I have a maximum of 5 Mark choices, and they ARE my last 5... it just isn't destroying the old useless marks. :P
I am caught between, ease of playability, and wishing to re-create the mechanic as faithfully as possible. In the game, Teleport and Scry both were supposed to take an extended duration to cast, while the wizard focussed on his destination... and then a chart was consulted, to see if the 'port goes to the right spot, or indeed if the Wizard could recall the location well enough at all. It was never mean to be seriously used to rapidly escape combat (thats what Blink or Dimension door are for (COMING SOON! lol)), rather, as a means to advance plot, or overcome otherwise difficult or impossible obstacles.
For example, between 'porting or levitating, most wizards don't have stairs in their towers. LOL I tried levitating first ;) it is, indeed, impossible, without access to the engine. Wow, I wish I could get at THAT... I could whip up some kicking stuphz :)
> if only one is allowed, then you don't need to bother removing it upon resting - just let it stay there.
It does. Resting doesn't remove em. OOh, wait, I see what you mean... if they are made in a wilderness area, like i said above... I haven't implemented that yet.
> I would suggest to also save which module the mark was created in, but that could create problems (warping into West Harbor in mid-ACT III for example), so you won't want to mess with that.
Yeah uuuh, I DO want to record the module. I want this to be do-able in a campaign; indeed, I want to use the campaign map, instead of a dialog box, to select your destination. MUCH more styly; I think I mentioned the map notes above. More on that later.
Also, I don't know how colocation will effect a module that wasn't realy written to take it into account, like the OC. It could be an exploit/bugmaker. Use at your own risk, if you are simply importing it into your module... if you have any problems, anyone, please let me know what they are!
PLANNED
=======
1) Teleportation error
2) Teleport without error (6th level spell)
3) Teleportation Circle (8th level spell, does the whole party)
4) Effect Dispelling (on rest,dispel or combat - and in the case of scry, spell casting of the wrong spell)
5) Blink (1st level duration TP that has a very limited range)
6) Dimension door (2nd level spell that creates a portal to Line-of-Sight destination... anyone can use the portal, but when the caster does it vanishes)
7) FINALLY, map interface. By the time I get here, I hope 1.04 will be out. Picking map pips instead of using a dialogue is my real vision for these spells, and I won't be ha[[y until I can do it. If I never gain the ability, then I may just limit it to one mark after all.
8) work out the variable durations for the arcane marks, based on where they are located. I only want ones made in a secure location to be truly permanent.
As a side note to that point, in a PW... wouldn't it be cool if there were roving bands of highwaymen, or druids, who "cleaned marks" out of their territory with dispel magic? That would remove the need for a duration... but it involves large chunks of code that I am not prepared to write... maybe on my next week's holidays LOL if my finacee hasn't left me over it ;)
oh yeah, 9) I want to change the mark that gets left so it isn't so graphically glitchy. _________________________ The only constant thing is change. Well, that and... Planck's Constant...
I won't vote on this yet because it's incomplete, and I'd love to just give you a 9-10 when you've got it done. I really love what you've done here so far and what you may be able to do with this, so here are a few suggestions:
I don't honestly think you need both Wizard's Eye and Scry. Set Scry to a lower spell level, then lower its duration and just use that one. Wizard's Eye is a little glitchy anyway. Making just one spell that does this effect increases the fluidity of your system. Having both just seems unnecessary.
Again, to increase fluidity, I really suggest that you only allow a single Arcane Mark at a time. It's probably a nice ability to be able to cover the countryside in your marks, but you won't have need of the annoying thing that asks you which mark to go to. And if only one is allowed, then you don't need to bother removing it upon resting - just let it stay there. I would suggest to also save which module the mark was created in, but that could create problems (warping into West Harbor in mid-ACT III for example), so you won't want to mess with that.
I'd love to see this when it's finished, and I'll certainly be using it then, but for now I'll just wait patiently and thank you for what you've done so far.
I really like the idea you have going here, but I have some suggestions. I haven't tried this yet, but wanted to brainstorm a bit. I don't see why you can't simply use a database to do this. IE: placing the arcane mark records a teleport location variable for your character in the the database. Casting teleport calls the location of your teleport variable and jumps the player to that spot. You could even make a spell "group" teleport that teleports the entire party to your teleport variable. If you did it this way I don't see why you would need a bunch of modifications, except of course the modification to the spell 2da file (but can't that go into the override folder so your users don't have to download it?) This is all from the standpoint of a persistent world, by the way, which you may or may not care about. As far as I am aware, most persistent worlds are using nwnx4 with mysql, or sqlite.
I have updated the files, removing that "Ping" thing, and replacing it with "Scry". It is still not fully developed, but basically it does this;
It transports the caster to their arcane mark, turns them invisible, and spawns a copy of them to stand stupidly where "they" are. Currently, one may only scry for a number of seconds equal to their level. When the spell expires, it destroys the clone, transports them back and removes their invisibility.
I have several ambitious plans for this spell, which involve digging around in game scripts; creating global integers, and the like. I want all these spells to be available to the designer in the toolset (almost done that, if it doesn't work already), and I want to be able to limit the spells castable during the scry session (ie. anything else fails, for now, but I want to actually grey them out and make them uncastable)
I have added the map notes, but they don't show up until you "refresh" the area by leaving and returning. Something about 1.04 promises to address this, so I am not worrying about it for the moment.
Once i finish this scry thing to my satisfaction, then I will set about creating the map interface. I am not sure how this would work with multiplayer, so I have lowered it's priority. Basically, I haven't figured out how to host a campaign MP through the standalone server, so I am not sure if i want to develop a game mechanic which relies on it. More later. _________________________ The only constant thing is change. Well, that and... Planck's Constant...
This just cleared, and i read the above... and I felt I must elaborate.
The above-mentioned "obscene" spell is not lewd, or lascivious... but it IS disgusting. This has to do with (my imagined version of) the origin of the "Missle storm" spells.
In the original PnP D&D version of Netheril, while there were very few spells, there were no caps on spells, or levels. So you could cast a 40-hd fireball, or let fly with 30 magic missles (or at least you faced high-level NPCs who could).
So I viewed the Missle Storm spells as an attempt to simulate this without breaking the game wide open. they have... HIGHER caps.
So, in the spirit of a) making new spells, and b) being truly Netherese about it, I made Ping. It is 1st level, and it produces a number of missles equal to your level. They each do 3 damage.
When my 10th level sorcerer used Teleport and Ping to kill an ancient black dragon, I realized that Ping is wrong, and I never should have made it. ;) So I am taking it out with the next update. _________________________ The only constant thing is change. Well, that and... Planck's Constant...
You must be Logged In to post comments in this section.
10 - A Masterpiece, Genuinely Groundbreaking 9 - Outstanding, a Must Have 8 - Excellent, Recommended to Anyone 7 - Very Good, Deserves a Look 6 - Good, Qualified Recommendation 5 - Fair, Solid yet Unremarkable 4 - Some Merit, Requires Improvements 3 - Poor Execution, Potential Unrealized 2 - Very Little Appeal 1 - Not Recommended to Anyone