Editing the available spells list
Moderator: George Gilbert
Forum rules
Please read the Forum rules and policies before posting.
Please read the Forum rules and policies before posting.
Editing the available spells list
I want to restrict the spell list for a dungeon I am creating. The rune and spellbook method doesn't seem to do what I want. Say for example, I want the player to be able to cast YA IR, but not YA. The best thing would be to be able to move a spell from priest or wizard column to the unused column. If there is a way to do that, I don't see it. I know George replaced DES EW with DES GOR in one of his example dungeons, but how would you replace DES EW with nothing and deny the player that power? I want the player to "mumble a meaningless spell" when he tries something forbidden. Any ideas or instructions?
Replace the spell action with with either action_none to just have it die, or have an action generate the 'this spell fizzles' text (there is probably a more elegant method than creating a floor text under the charatcer with the correct font colour)
You can also have it gop through a relay so that a spell with only be activated when a certain party condition or dungeon condition is met too
You can also have it gop through a relay so that a spell with only be activated when a certain party condition or dungeon condition is met too
- Sophia
- Concise and Honest
- Posts: 4240
- Joined: Thu Sep 12, 2002 9:50 pm
- Location: Nowhere in particular
- Contact:
The easiest way is to set the spell to perform ACTION_NONE.
Beo, for your way, what i would do is clone WALLITEM_SPEECH, set it up to give the "fizzles" message, and then have the spell OBJECT_ACTIVATE that particular item.
Beo, for your way, what i would do is clone WALLITEM_SPEECH, set it up to give the "fizzles" message, and then have the spell OBJECT_ACTIVATE that particular item.
Last edited by Sophia on Mon Jul 03, 2006 7:53 am, edited 2 times in total.
- Trantor
- Duke of Banville
- Posts: 2466
- Joined: Wed Mar 09, 2005 4:16 am
- Location: Berlin, Germany
- Contact:
´beowuuf wrote:You can also have it gop through a relay so that a spell with only be activated when a certain party condition or dungeon condition is met too
Exactly how do I do that? I can make a new spell target a relay that targets a "fizzle" message, or I can make the spell target a relay that activates the spell. What I can't do is a spell that gives the fizzle message at first until a certain condition is met, like stepping over a trigger or collecting a certain item (like a scroll that tells you the spell, as in Conflux). I really like this idea of unlockable spells, so I'd very grateful if somebody could help me make this work.
- Parallax
- DMwiki contributor
- Posts: 424
- Joined: Mon Aug 28, 2006 7:56 pm
- Location: Back in New Jersey
I thought about that at some point, and I thought that, if a relay can test the value of a particular counter, then I would create a counter for each locked spell and set it to 1. Finding the spell activates the counter, which does nothing but here's the kicker: casting the restricted spell activates two relays. One checks that the spell counter is >=1 and displays a 'the spell fizzles'-type message if true, the other checks for <1 and casts the spell if true.
If relays cannot access counters by item ID# then you'd have to do something tricky to keep track of which spells are unlocked. I never got around to actually checking that this method would work, sorry.
(N.B: Activating a counter decrements it.)
If relays cannot access counters by item ID# then you'd have to do something tricky to keep track of which spells are unlocked. I never got around to actually checking that this method would work, sorry.
(N.B: Activating a counter decrements it.)
I appropriately hear the idea of Parallax.
Is relay made a clone and was action of spell made OBJECT_ACTIVATE?
Are relay moved with spell all clones?
Is the operation of the counter correct?
The count is a present value.
Active is decreased by one. One Diactib is increased.
Is the counter check of the relay correct?
Counter greater_than 1 shows two or more.
There might be a problem in your spell effect setting that ahead if all are correct.
Is relay made a clone and was action of spell made OBJECT_ACTIVATE?
Are relay moved with spell all clones?
Is the operation of the counter correct?
The count is a present value.
Active is decreased by one. One Diactib is increased.
Is the counter check of the relay correct?
Counter greater_than 1 shows two or more.
There might be a problem in your spell effect setting that ahead if all are correct.
Please forgive poor English.
- George Gilbert
- Dungeon Master
- Posts: 3022
- Joined: Mon Sep 25, 2000 11:04 am
- Location: London, England
- Contact:
I would think that you should be able to do it using two relays, one counter, a speech wallitem and an action to cast the spell.Trantor wrote:I finally did it - with five relays, two counters, a speech wallitem and an action to cast the spell. Whew! Parallax, your solution sounds good, but doesn't work unfortunately, since a new spell can only activate a single object, not two.
Clone a special type of relay from a normal relay (just so it has a different name) and your spell activate it. Also have your counter indicate whether or not the spell has been unlocked (exactly as Parallax described).
Now have 2 relays of the new type, each doing conditional checks on the counter (one checking if 1, one checking if not 1) so that when you cast your spell exactly one of them will operate. One then operates the fizzle text, the other the "real" spell action.