Editing the available spells list

Questions about how to create your own dungeons and replacement graphics and sounds.

Moderator: George Gilbert

Forum rules
Please read the Forum rules and policies before posting.
Post Reply
clem
Novice
Posts: 12
Joined: Mon Jul 03, 2006 6:49 am

Editing the available spells list

Post by clem »

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?
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

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
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

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.
Last edited by Sophia on Mon Jul 03, 2006 7:53 am, edited 2 times in total.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Will that generate the fizzle text? And morning sophia : )
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

Yes, it will. That's how I override all the spells in my new dungeon.
clem
Novice
Posts: 12
Joined: Mon Jul 03, 2006 6:49 am

Post by clem »

Thanks, Beowuuf, Sophia. Those methods do exactly what I want. I was thinking of Replace as Clone and I expected to see --NULL-- at the top and missed ACTION_NONE in the list.
User avatar
Trantor
Duke of Banville
Posts: 2466
Joined: Wed Mar 09, 2005 4:16 am
Location: Berlin, Germany
Contact:

Post by Trantor »

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.
User avatar
Parallax
DMwiki contributor
Posts: 424
Joined: Mon Aug 28, 2006 7:56 pm
Location: Back in New Jersey

Post by Parallax »

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.)
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

Yeah, create chains that activate relays through ocunters.

Note, you can have a counter that targets two counters (one through a relay to invert the signal). One counter allows the fizzle message, and the other allows the spell to be cast.
User avatar
Trantor
Duke of Banville
Posts: 2466
Joined: Wed Mar 09, 2005 4:16 am
Location: Berlin, Germany
Contact:

Post by Trantor »

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.
Tonari
Craftsman
Posts: 146
Joined: Sun Jul 23, 2006 1:32 pm
Location: Japan

Post by Tonari »

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.
Please forgive poor English.
User avatar
George Gilbert
Dungeon Master
Posts: 3022
Joined: Mon Sep 25, 2000 11:04 am
Location: London, England
Contact:

Post by George Gilbert »

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.
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.

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.
User avatar
Trantor
Duke of Banville
Posts: 2466
Joined: Wed Mar 09, 2005 4:16 am
Location: Berlin, Germany
Contact:

Post by Trantor »

That solution is certainly much more elegant GG, but I think it's still a bit above my head. I'll leave it as it is for now since it seems to work, and I may or may not get back to it once I understand more of RTC's more complex mechanics. Anyway, thanks for the explanation! :)
Post Reply