Talk:Spellweaver: Difference between revisions
→control words: new section |
→invoke!: new section |
||
| Line 44: | Line 44: | ||
a system like this would be infinitely expandable... and I'm sure contain more than a surprises for us when people get creative. heh | a system like this would be infinitely expandable... and I'm sure contain more than a surprises for us when people get creative. heh | ||
--[[User:Brazil|Brazil]] 21:04, 22 January 2010 (UTC) | --[[User:Brazil|Brazil]] 21:04, 22 January 2010 (UTC) | ||
== invoke! == | |||
Ok, so I got a basic invoke command coded... | |||
It analyzes the words you've cast, to determine how to proceed. There's a few things to iron out, but right now it can do a basic heal. | |||
struct invoke_words_type invoke_list[] = { | |||
{ INV_TYPE_BASE , "create" , "create" , 10, INV_PWR_CREATE }, | |||
{ INV_TYPE_BASE , "negate" , "negate" , 10, INV_PWR_NEGATE }, | |||
{ INV_TYPE_POWER, "minor" , "minor" , 10, INV_WORD_MINOR }, | |||
{ INV_TYPE_POWER, "major" , "major" , 30, INV_WORD_MAJOR }, | |||
{ INV_TYPE_WORD , "life" , "life" , 10, INV_WORD_LIFE }, | |||
{ INV_TYPE_WORD , "defense", "defense", 15, INV_WORD_DEFENSE }, | |||
{ INV_TYPE_WORD , "pain" , "pain" , 10, INV_WORD_PAIN }, | |||
{ INV_TYPE_WORD , "fire" , "fire" , 15, INV_WORD_FIRE }, | |||
{ -1, "\n" , "\n" , -1, -1 } | |||
}; | |||
The first column is the word type... you only get one "base" word, that determines the direction of the spell. I was originally thinking that would determine offensive / defensive, but negate and create can be used for both circumstances. | |||
You also only get one POWER word. That is the strength level of the spell. Right now, I've got it assuming that not using any power word equates to "minor". It'll be easy to add more power words as we go (or change their names... everything is abstract). | |||
Second is the word used in casting. The third is the more for our reference, it's a description of what the word is for. | |||
The number column is how much mana that word requires to use. More words used = more complex the spell = more mana to cast. | |||
Last column is for internal reference during calculations of what to do. Safe for anyone but me to ignore, but it's a straight copy / paste from code. | |||
We can reword this or rename words and their meanings, if you have different ideas. I just wanted to get something working. | |||
Right now this is what I have in place (with some debug output)... (order if invoked words is has no significance... we can change that if it makes sense later) | |||
1H 1900M 200V > invoke 'minor create life' me | |||
Mana cost: 30 | |||
Words found: create minor life | |||
A warm feeling floods your body. | |||
Power level: 1 | |||
Amt: 129 | |||
130H 1900M 200V > | |||
131H 1900M 200V > invoke 'major create life' me | |||
Mana cost: 50 | |||
Words found: create major life | |||
A warm feeling floods your body. | |||
Power level: 3 | |||
Amt: 387 | |||
518H 1900M 200V > | |||
Power words are coded as a multiplication factor. Minor = 1, so no change to the amount. Major = 3, so it does thrice what a Minor would do. If need be, we can change them to decimals, i.e. 2.5 or whatever. Just started with something. | |||
In that case, a minor resistance would be say... 3. A major resistance would become 9. | |||
My biggest stumbling block at the moment is affects. Right now I think they need to be tied to a spell, or things get unpredictable. It's going to take some tinkering to get it so they can't cast the same major resistance spell 10 times and wind up with 90% resistance, heh. | |||
We need to come up with a list of words and define what each "word" means. | |||
pain = AC | |||
life = hit points | |||
fire = fire element to spell | |||
Another thing I'm having trouble with, is "pain resistance" could mean AC, or it could be made to mean weapon type resistance. Feels vague to me. Maybe "negate" is too broad. Maybe it should be "create", "destroy", "defend", "resist". "defend pain" could mean AC, "resist pain" could be a resistance. Or maybe "negate pain" should be AC, and "major negate pain" or "negate pain blade" would be a resistance. | |||
Ok, I'm starting to ramble, but I wanted to get these thoughts out before we head out on the town tonight. Read it over and let me know your thoughts. I got really into this, I'd love to see it go live. I've been wanting to do something similar to this for many years, and you got me motivated ;) | |||
--[[User:Brazil|Brazil]] 00:45, 24 January 2010 (UTC) | |||
Revision as of 00:45, 24 January 2010
oooo
I really like where you're going here...
To build on that, we could have words for "greater" or "massive" to get larger heals / damage / resistance / weakness.
My only concern with that would be that when they earn the "massive" word, they suddenly could have massive resistance / heal / damage all at once.
I think it would result in some new spells, but only where we need to map word a combination to an affect. hmm... unless... I have thoughts forming for an abstracted magic system that could calculate how a spell works based on the word combination.
"lower fire protection"
we could even create quests to earn words, and have rare words that were only available during a mud-wide quest or something... like getting a scroll that when recited will teach you the word...
Well, if massive resistances are a concern - this type of class doesn't necessarily have to receive the words for resistance .. we could structure it so that it's damage/healing oriented (or just damage).
If we wanted to get really wacky - we could allow for branches of weavers - damage OR heal (not both). OR OR OR - make the languages learned inherrantly tied to your underlying class. Sorcs/Wizards would have similar words to learn, Clerics/Priests would be similar - but unable to learn most of the Sor/Wiz words, and Necros would be their own beast...
--Gargamel 21:23, 11 January 2010 (UTC)
control words
I think we need base control words... to make an effective customizable system one these control words would be the first of every spell...
Trying to think of the best way to phase them...
- healing (heal, cure poison, etc)
- harmful (damage spells, combined with element words for elemental attacks)
- protective? (resistances?) 'protect fire greater' (+15 fire resistance)
not happy with that list yet...
- I'm thinking resistances and weaknesses need their own word somehow... but maybe they can be lumped with the other two words
cast 'heal toxin' cast 'harm damage fire'
i'm really thinking on the generic system... I'm dreaming of having a list of words... and each word of the spell adds to the mana cost... like 'harm damage fire' could be 10+10+15 mana... then if you add "greater" in there to get 'harm damage fire greater' you get 10+10+15+30 mana cost...
And I want to be able to say in code... add "fire" to the mix, and just define, if it's offensive it does this to the spell... if it's defensive it does this...
a system like this would be infinitely expandable... and I'm sure contain more than a surprises for us when people get creative. heh --Brazil 21:04, 22 January 2010 (UTC)
invoke!
Ok, so I got a basic invoke command coded...
It analyzes the words you've cast, to determine how to proceed. There's a few things to iron out, but right now it can do a basic heal.
struct invoke_words_type invoke_list[] = {
{ INV_TYPE_BASE , "create" , "create" , 10, INV_PWR_CREATE },
{ INV_TYPE_BASE , "negate" , "negate" , 10, INV_PWR_NEGATE },
{ INV_TYPE_POWER, "minor" , "minor" , 10, INV_WORD_MINOR },
{ INV_TYPE_POWER, "major" , "major" , 30, INV_WORD_MAJOR },
{ INV_TYPE_WORD , "life" , "life" , 10, INV_WORD_LIFE },
{ INV_TYPE_WORD , "defense", "defense", 15, INV_WORD_DEFENSE },
{ INV_TYPE_WORD , "pain" , "pain" , 10, INV_WORD_PAIN },
{ INV_TYPE_WORD , "fire" , "fire" , 15, INV_WORD_FIRE },
{ -1, "\n" , "\n" , -1, -1 }
};
The first column is the word type... you only get one "base" word, that determines the direction of the spell. I was originally thinking that would determine offensive / defensive, but negate and create can be used for both circumstances.
You also only get one POWER word. That is the strength level of the spell. Right now, I've got it assuming that not using any power word equates to "minor". It'll be easy to add more power words as we go (or change their names... everything is abstract).
Second is the word used in casting. The third is the more for our reference, it's a description of what the word is for.
The number column is how much mana that word requires to use. More words used = more complex the spell = more mana to cast.
Last column is for internal reference during calculations of what to do. Safe for anyone but me to ignore, but it's a straight copy / paste from code.
We can reword this or rename words and their meanings, if you have different ideas. I just wanted to get something working.
Right now this is what I have in place (with some debug output)... (order if invoked words is has no significance... we can change that if it makes sense later)
1H 1900M 200V > invoke 'minor create life' me Mana cost: 30 Words found: create minor life A warm feeling floods your body. Power level: 1 Amt: 129 130H 1900M 200V >
131H 1900M 200V > invoke 'major create life' me Mana cost: 50 Words found: create major life A warm feeling floods your body. Power level: 3 Amt: 387 518H 1900M 200V >
Power words are coded as a multiplication factor. Minor = 1, so no change to the amount. Major = 3, so it does thrice what a Minor would do. If need be, we can change them to decimals, i.e. 2.5 or whatever. Just started with something.
In that case, a minor resistance would be say... 3. A major resistance would become 9.
My biggest stumbling block at the moment is affects. Right now I think they need to be tied to a spell, or things get unpredictable. It's going to take some tinkering to get it so they can't cast the same major resistance spell 10 times and wind up with 90% resistance, heh.
We need to come up with a list of words and define what each "word" means.
pain = AC life = hit points fire = fire element to spell
Another thing I'm having trouble with, is "pain resistance" could mean AC, or it could be made to mean weapon type resistance. Feels vague to me. Maybe "negate" is too broad. Maybe it should be "create", "destroy", "defend", "resist". "defend pain" could mean AC, "resist pain" could be a resistance. Or maybe "negate pain" should be AC, and "major negate pain" or "negate pain blade" would be a resistance.
Ok, I'm starting to ramble, but I wanted to get these thoughts out before we head out on the town tonight. Read it over and let me know your thoughts. I got really into this, I'd love to see it go live. I've been wanting to do something similar to this for many years, and you got me motivated ;)
--Brazil 00:45, 24 January 2010 (UTC)