• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[Spell system] - Forge your spells - Updated.

What things do you think are true? (Select More)

  • It is interesting.

    Votes: 42 76.4%
  • It is more fun.

    Votes: 19 34.5%
  • It is hard to understand.

    Votes: 4 7.3%
  • It's painful to use.

    Votes: 2 3.6%
  • It's an advantage for botters.

    Votes: 2 3.6%
  • You want cake.

    Votes: 17 30.9%

  • Total voters
    55
Well so far so good..
ag9xM.jpg


Well also each "spell effect" will have this feature, which greatly improves effects.

gbY1P.jpg


What you see here is random effects and delay.
some patterns depend on distance, other are only attached to the target and so on ;3.
Basically its gives and eyegasm ;3
 
Last edited:
Just some explaination by chaining will be mana costly:

rdFGh.png


It damages 3x and the area is.. quite large
 
I think this is an amazing system. I believe you mentioned it a few months ago I didnt think it was going to be made. I have 1 problem people are not going to remember all of those words. It would be perfect if you could use the spell term or the english term
 
well, thought i ran into a problem it seems <.<
I need to redo the entire C-spell system into lua <.<
C function really slow down the entire proccess.. Might as well go full luajit or switch to pyot and pypy <.<

The big zero here is the the onTargetTile and onTargetCreature is what delays everything.
Maybe i should skip the effects delays because well.. they do use addEvent and a c call..

Has anyone discovered another ways instead of addevent, that doesn't do that much preformance loss?

Since all the logic is made inside lua, it's pretty heavy to use due to all c function it has.

_----------updated

nvm, fixed. the lag wad due to chains casting itself 60 times more than it should have, but fixed it.
 
Last edited:
Working on some party stuff to make teamplay a bit easier.
Adding an entire "support" word list.
also now you can put any words inside as a param.

exevo gran motherfucking vis works..
 
LOVE IT! very good idea, although id make a limit on each word set.. but Very nice idea!! might try and make/get a similar system later on =)
 
Limit isnt really an issie since mana will be required. It is ideal for such a system that has edited mana gain on level.

Keep it up man, never been disappointed witg your releases, only seem to be better & better
 
For now its on slow progress. i have more to build on the system.
Added weapon enchanting and rune enchanting bases so you can bind weaker verisions to enchantable items
it works like this. you got diffrent types of runes which has different mana capacities
so it acts as a storage for mana.
the weakest rune has 100 mana and can only use 100 mana.
Weapons will also have mana capacities of how much mana they can bear. weapons havr high capacity but triple cooldown.
there are legendary runes which can carry 100000 mana which allows for really powerful spells.
oh and also monsters are able to use sets of spells from the system
 
Okey, So im working on this again, updating it to TFS 1.0.

so i made some slight changes with the concept:

The words are now grouped into 5 groups:
Targets, Elements, Areas, Modifiers and Casts.

*Targets is a group that selects the positions of where to cast the areas. You can stack multiple targets which is great.
*Elements are basically what the main spell effects can do, Each element has 3 effects "Field, Damage, Condition" which can be selected with Modifiers.
*Areas are actually better described as Shapes. A box, a beam a wave and large circles and all that. Reasons for having all these diffrent shapes are because you could example create a Wild Growth box infront of you or things simular to this.
*Modifiers are basically words that modifies the attributes of the entire spell. Attributes are explained in the bottom.
Casts are the way you cast spells. They decide how you should trigger you spell. An easy explaination would be that Trigger is determined before chosing target. You can make the spell trigger on next Weapon attack or Trigger it while rushing into the target and so on.

So this much complexity really needs a way to balance the system in diffrent ways?
So general balacing is done by using the standard formula finalValue = base * mutliplier.
Each word has a base and multipler thats get added to a total base and multipler.
the attributes implemented are basically Cooldown, Manacost, Power, Size, Distance, Duration.

A small peek on how a word file would look like:

Code:
local spellWord = SpellWord {
  Name = "Self Cast";
  Word = "ego";
  Group = SPELLSYSTEM_GROUP_TARGET;
 
  Description = [[A word that makes the spell target youself.]];

  Attributes = SpellAttribute {
    [ATTR_POWER_BASE]           = 1.0;
    [ATTR_POWER_MULTIPLIER]     = 1.0;
    [ATTR_DISTANCE_BASE]        = 1.0;
    [ATTR_DISTANCE_MULTIPLIER]  = 0.0;
    [ATTR_SIZE_BASE]            = 0.0;
    [ATTR_SIZE_MULTIPLIER]      = 0.0;
    [ATTR_COOLDOWN_BASE]        = 2000;
    [ATTR_COOLDOWN_MULTIPLIER]  = 0.3;
    [ATTR_DURATION_BASE]        = 0.0;
    [ATTR_DURATION_MULTIPLIER]  = 0.0;
    [ATTR_MANACOST_BASE]        = 0.0;
    [ATTR_MANACOST_MULTIPLIER]  = 0.0;
  };
}

function spellWord:onAddWord(spellInstance)
  print("Hello!")
end

So basically there will still be a bit of balancing which would be needed especially with certain combination of words.
for example, incase you want to make paralyze give extra manacost you write this.


Code:
--Add 150 mana to costs paralyze
SpellWordCombination[{"frigo", "con"}] = function(spellInstance)
spellInstance.Attributes.add(ATTR_MANACOST_BASE, 150)
end

So how do you combine words? (Some of the ideas were discussed with @Karain)
You can stack words for one chatmessage at the time. But it will only activate with a "Cast" word. This method has a cooldown for 0.5 or 1 second per word, its configurable ofc. However there would be a cost reduction. When combining words in the same scentance the spell will be more costly.

Chaining.. is basically a way to stack spelleffects. You could make the spell trigger when hitting the target, or execute on each tile.
However since the spell executes with a Cast Spell, You cannot stack Cast words for both balance and preformance
This concept however is still in dvelopment so not really anything more i can say for sure.

Another concept is called "Sources", Normally you would imagine the caster to be the source of the spell. But not really. The whole concept is that the source stands for all stats of the spell, while the caster is basically someone who throws it and owns it.
So this allows the source to be anything basically. A weapon, A rune, Armor.. anything ingame object or creature would work.
So since the spells arent really directly dependable on a player. They can be used on monsters to. And if we add a "Fake" monster called World. Suddenly you could make things like explosive crates and mines and all that kind of stuff.
You could even cast for a buddy if wanted. However that would also be quite.. over powered. I could see an issue with true mage bombing..

last but not least, How can you learn these words?, @Karain also suggested a mastery system for each word to reduce costs and all that stuff to somehow specialize in a certain element of choosing. If a server would be vocation based, these vocations could have a base mastery level if level 100 is max. Words would be learnt by quests or guildhalls or simular methods using items.

so some questions for you guys.
Are there some words you want to suggest, which falls into the 5 categories?
What do you think about the balancing approach?
Anymore details you would think is over-complicating the system?

Will post more of how my interption of the "vocations" would work with this system.

Really sorry for the long text, but the system is quite immense, and i tried to explain the most important details.
 
So im contructing elements, "Where elements is what should happen when it hits an object."
Doesnt have to be the elements linked to tibia.

Anybody has some suggestions?

Elements usually have 3 different forms
* Something that applies to creatures, Conditions, dispells
* Damaging or Healing.
* A tile effect, Be it a field, remove fields, levitate or anything you want.

Dont be afraid to go crazy on the ideas, anything you say i can probobally make it. :3
 
I'm actually surprised you are actually doing this, it's an amazing idea.

I don't have any suggestion to the spells, just think you should edit the first post since it is a mess with all the [TD].

Good luck!
 
It's one of the best ideas regarding spells I've seen.
I would like a server where everything you would do could be spontaneous.
As you said there are infinite possibilities. This means that, especially PvP battles, could have unexpected situations and could also be a lot funnier and interesting.
I can hardly imagine this system being to any use to botters.

Looking forward to see how it's gonna work out.
 
Updated more details around the new system at the first page. However the amount of work behind writing about all words is going to be a task for another day.
 
Dude, you should make a spell system like on magicka if you've played that, Combine different things and watch it become any spell you've ever could imagined.
Like


and some type:
b: beam
w: wave
m: mines

additional type:
h:heal
f: fire
w: water
a: air

so if combinging m and h, will make healing mines.
bf would be a beam of fire
bffffffff would make a really strong fire beam but use more mana?

hard to explain but pure awesomeness.

could be done with OTclient

Somones demo of how magicka spells work!
 
This system is inspired from Magicka, but you can do much more than magicka's system. This system combines infinitely as you can stack words however you want.
If you point to having elements as keys. Well it can be easily done since there is a system that allows you to say one word at a time to stack effects before saying a final "Cast" word.

Feels like the updates actually should come into the same post..
Made a large post in notepad++ seems like 35k character requires.. 4 posts?
 
Last edited:
So did you finished it? It is a unique ideia from the SS's it looks really cool and "working"
 
Back
Top