• 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!

TheImaginedServer & TheImaginedClient (custom TFS and Client) - Updated 1/16/2015

I think it would be cool and give more monster spell options if, lets say an attack gets activated it will, for example, cast 3 spells in a row.

instead of this, which will get out of sync the longer the fight goes

Code:
<attack name="energy" interval="1000" chance="7" range="7" min="-0" max="-45">
<attribute key="shootEffect" value="energy"/>
</attack>
<attack name="energy" interval="2000" chance="7" range="7" min="-0" max="-45">
<attribute key="shootEffect" value="energy"/>
</attack>
<attack name="energy" interval="3000" chance="7" range="7" min="-0" max="-45">
<attribute key="shootEffect" value="energy"/>
</attack>
but instead make it possible to make something like this
Code:
<attack name="energy" interval="1000, 2000, 3000" chance="7" range="7" min="-0" max="-45">
<attribute key="shootEffect" value="energy"/>
</attack>
 
I think it would be cool and give more monster spell options if, lets say an attack gets activated it will, for example, cast 3 spells in a row.

instead of this, which will get out of sync the longer the fight goes

Code:
<attack name="energy" interval="1000" chance="7" range="7" min="-0" max="-45">
<attribute key="shootEffect" value="energy"/>
</attack>
<attack name="energy" interval="2000" chance="7" range="7" min="-0" max="-45">
<attribute key="shootEffect" value="energy"/>
</attack>
<attack name="energy" interval="3000" chance="7" range="7" min="-0" max="-45">
<attribute key="shootEffect" value="energy"/>
</attack>
but instead make it possible to make something like this
Code:
<attack name="energy" interval="1000, 2000, 3000" chance="7" range="7" min="-0" max="-45">
<attribute key="shootEffect" value="energy"/>
</attack>

So, you have a monster that shoots the SAME spell.
But you have it set to 7% chance every 1 second, 7% chance every 2 seconds, and 7% chance every 3 seconds.
Why couldn't you just make it a 15% chance every 1 second with higher damage maximum? min="-0" max="-135"
It would basically be the same thing...
 
Like you said it is basically the same thing, except its more boring. At least in my opinion.

Between those intervals a player could heal. This spell was just an example from a beholder.
Lets say that it comes from a custom boss or something. Every 10 seconds there is a 100% chance that he will do some high damage spell.
But instead of inflicting 1500 damage at once, he does 500 each 3 times with 1 sec delay to each attack and that gives the players more chance of survival and maybe more tactic thinking.
This came from watching other games like say World of Warcraft. Almost all bosses that require 5 players or more goes after special intervals, not by random like Tibia.
Thought this could make another touch to custom bosses and monsters in servers.
 
Like you said it is basically the same thing, except its more boring. At least in my opinion.

Between those intervals a player could heal. This spell was just an example from a beholder.
Lets say that it comes from a custom boss or something. Every 10 seconds there is a 100% chance that he will do some high damage spell.
But instead of inflicting 1500 damage at once, he does 500 each 3 times with 1 sec delay to each attack and that gives the players more chance of survival and maybe more tactic thinking.
This came from watching other games like say World of Warcraft. Almost all bosses that require 5 players or more goes after special intervals, not by random like Tibia.
Thought this could make another touch to custom bosses and monsters in servers.

I completely agree with you on the "Bosses having set intervals" and "combo attacks" that give players time to heal
I would rather do something like this:
Code:
<attack name="combo" interval="1000" chance="7" range="7">
  <combo name="energy" time="1000" min="-0" max="-45">
     <attribute key="shootEffect" value="energy"/>
  </combo>
  <combo name="energy" time="2000" min="-0" max="-45">
     <attribute key="shootEffect" value="energy"/>
  </combo>
  <combo name="energy" time="3000" min="-0" max="-45">
     <attribute key="shootEffect" value="energy"/>
  </combo>
</attack>

So when it DOES cast that spell, it would THEN cast it 3 times every time (doing 0-45 damage each cast).
That way if it was a "boss" like you explained, you would see the first cast and know to expect 2 more.

What do you think of this change? Would this do what you want?
 
Yes! The "combo" thing is even better. This way you can do even more! Good thinking and developing the idea!
 
Change time to delay on the combo attacks (makes more sense, because that's what that value is doing.. delaying the cast of that part of the combo).

Also add in a 'voice' option to the start of a combo.. most games have a sound cue or animation cue of when a special combo happens.

I think there should be more ways to 'activate' a combo.. such as when the monster hits a certain HP, gets a condition change (like becomes poisoned or electrocuted), takes a threshold of damage (say, the monster gets hit for 500 damage in one turn, it does a nasty combo.. forcing players to 'control' their damage), or even based on how many players are on screen.


Personally I prefer 'random' intervals, as it is harder for the player to time things.. but in general, the combo system is a good idea, gives you more tools to play around with to make things interesting, and just really make the monster do what you want it to do.

It also puts more 'tactics' into the game, as you can control the scenario better.
 
Last edited:
Change time to delay on the combo attacks (makes more sense, because that's what that value is doing.. delaying the cast of that part of the combo).

Also add in a 'voice' option to the start of a combo.. most games have a sound cue or animation cue of when a special combo happens.

I think there should be more ways to 'activate' a combo.. such as when the monster hits a certain HP, gets a condition change (like becomes poisoned or electrocuted), takes a threshold of damage (say, the monster gets hit for 500 damage it one turn, it does a nasty combo.. forcing players to 'control' their damage), or even based on how many players are on screen.


Personally I prefer 'random' intervals, as it is harder for the player to time things.. but in general, the combo system is a good idea, gives you more tools to play around with to make things interesting, and just really make the monster do what you want it to do.

It also puts more 'tactics' into the game, as you can control the scenario better.

Great Idea Sporty!
Something like this:
Code:
<attack name="combo" voice="Energy Triple Strike" interval="1000" chance="7" range="7">
  <combo name="energy" delay="0" min="-0" max="-45">
   <attribute key="shootEffect" value="energy"/>
  </combo>
  <combo name="energy" delay="1000" min="-0" max="-45">
   <attribute key="shootEffect" value="energy"/>
  </combo>
  <combo name="energy" delay="2000" min="-0" max="-45">
   <attribute key="shootEffect" value="energy"/>
  </combo>
</attack>
<attack name="combo" voice="Ultimate Flame Bomb" trigger="health" amount="300">
 <combo name="fire" delay="0" area="4" target="0" min="-20" max="-60"/>
 <combo name="fire" delay="500" area="4" target="0" min="-20" max="-60"/>
 <combo name="fire" delay="1000" area="4" target="0" min="-20" max="-60"/>
 <combo name="fire" delay="1500" area="4" target="0" min="-20" max="-60"/>
</attack>

Of course it needs more thought put into it, but still a great idea.
 
If you are going to use a custom client, you should do completely away with tibia anyway, because whats the point?
Yeah. But here the 2 differences. 1 - you do this, for you own custom ot/game (for profit/fun) - better always you own client with sources. 2 - you try to improve you knownlege. Understanding how it works, R&D Tibia client - give you expirience, and it can be used in future.
In this cause (i am about dll hook), look the client ver. - 7.6 edited! Long time ago, community lack of alternatives, and for my little project i am choice that way. Becouse develop a new one (client) waste alot of time. Fast-placed solution hehe.:)

Ahh, foget to tell. My little idea for you project - "user created content". Try to make them for quests. Some UI element, where user can write: Quest description, quest task, quest locations, npc giver/finisher, reward (Some system for create simple quests like - kill monster, find item, find another NPC and combined + NPC talks). System, where player can create quests and submit them. After player submit quest - them pending to GM approval. GM/community staff checks that quest and approve them. After - quest avalible to players and you can "take" them. =) imho - that will be nice feature for you players community. Also, system should be balanced (adequate reward for task, not a - "kill 1 wolf and get over90000 exp/coins");)
 
Yeah. But here the 2 differences. 1 - you do this, for you own custom ot/game (for profit/fun) - better always you own client with sources. 2 - you try to improve you knownlege. Understanding how it works, R&D Tibia client - give you expirience, and it can be used in future.
In this cause (i am about dll hook), look the client ver. - 7.6 edited! Long time ago, community lack of alternatives, and for my little project i am choice that way. Becouse develop a new one (client) waste alot of time. Fast-placed solution hehe.:)

Ahh, foget to tell. My little idea for you project - "user created content". Try to make them for quests. Some UI element, where user can write: Quest description, quest task, quest locations, npc giver/finisher, reward (Some system for create simple quests like - kill monster, find item, find another NPC and combined + NPC talks). System, where player can create quests and submit them. After player submit quest - them pending to GM approval. GM/community staff checks that quest and approve them. After - quest avalible to players and you can "take" them. =) imho - that will be nice feature for you players community. Also, system should be balanced (adequate reward for task, not a - "kill 1 wolf and get over90000 exp/coins");)

That is an interesting idea, but it really isn't a source edit in TFS, all of that can easily be done in LUA.

I appreciate your input though.
 
i could use some kind of function which can check magiceffect..
for example:

if getmagiceffect(ABCD, YZ) == TRUE then ..

A = CID
B = x:1000 y:1000 z:7 (Just an example)
C = fromx: toidx:
D = X range from CID


Y = Certain magic effect
Z = All magic effects



something like that


and maybe something like a spell struggle
 
Last edited:
i could use some kind of function which can check magiceffect..
for example:

if getmagiceffect(ABCD, YZ) == TRUE then ..

A = CID
B = x:1000 y:1000 z:7 (Just an example)
C = fromx: toidx:
D = X range from CID


Y = Certain magic effect
Z = All magic effects



something like that


and maybe something like a spell struggle

Can you explain this a little better?

What is the "Purpose" of this function.
Is it supposed to display a magic effect over a large area?
 
Its possible to use adjust the maxSummon and set maxSummon per vocation with the use of lua.
 
Yes inside spells scripts for the summon spells, and inside the actions and all that... Sure that is fine...

Example of what I am asking for..

"Wand of the last Summoner" equipped adds 2+ max summons to whomever is equipped, so if I use some code to restrict the amount of maxSummons, then when equipping this and trying to summon say a third demon, I would still not be allowed to because the spell would check the amount of summons already summoned...

Whereas on my last server I had "maxSummons" attribute inside the vocations.xml I didn't have to set a summon limit on spells, just the vocation, but still I didn't have that attribute for items.xml so that I could put that wand on if I was a summoner and maxsummons allowed changed from 2 to 4.... That's what I really want is equipment and weapons that when worn allows extra summons...
 
No problems, that its easy to fix. I already got thoose scripts made, just need some small adjustments. You can use a creaturescript to register peoples max summon based on for example vocation, then set that storage value in the summoning script.

Then you can try use on of the movement.xml item modifiers i set up yesterday, do not add several single item or several set items that take different slots on the same .lua file and you should be okay. Havent tested it fully tho, but an example would be.

Going to rewrite the entire script later tho.

EDIT: Released a new script at the movement section.
 
Last edited:
As for Summons, the config for them is going to be a huge upgrade from what we have now.

Summon config: More customize features for summons. Summons go Wild (summons become monsters when you unsummon them or the player dies) Summons have Corpse (customize whether summons have corpse) Do Summons Level (Can summons level up and get stronger?) Summon Exp % (How much experience a summon gets for damage) Summon Master Experience (Percent of experience the master gets for summon damage)

We also plan to have different AI choices for summons. So you don't have to have them attack whatever you are attacking.

As for changing how many creatures you can summon... If you are making a custom "summoner" vocation and not using normal tibia summons, I suggest making a new spell.

An example of my summoner spell on Species RPG when they were able to gain more summons at higher levels was:
Code:
onCastSpell
local summons = getPlayerSummons(cid)
local maxsummons = 1
local level = getPlayerLevel(cid)
if level >= 20 and level < 40 then
  maxsummons = 2
elseif level < 60 then
  maxsummons = 3
elseif level < 80 then 
 maxsummons = 4
elseif level < 100 then
 maxsummons = 5 
else
 maxsummons = 6
end
if #summons > maxsummons then
  return false
else
 summon creature
end

Of course I just scripted that right now, so there might be flaws, but you get the general idea.
 
I would also recommend using storage values and making the summon compatible with talkactions and lib,
Example with the addon of modular window on top of having a spell - https://i.imgur.com/Gv8COIr.jpg

Just hook me up and i set you up.

Looks amazing, but it also looks very confusing for players. You would probably be able to make a much easier to use interface with the OTClient.
(I know people hate not using the tibia client, but we really need to have people making custom OTs to switch to using the OTClient)

I will add in the ability to make items increase the maxsummons, and also making a playerStorage that can "override" or "add" to the total summons allowed.
 
As for Summons, the config for them is going to be a huge upgrade from what we have now.

Summon config: More customize features for summons. Summons go Wild (summons become monsters when you unsummon them or the player dies) Summons have Corpse (customize whether summons have corpse) Do Summons Level (Can summons level up and get stronger?) Summon Exp % (How much experience a summon gets for damage) Summon Master Experience (Percent of experience the master gets for summon damage)

We also plan to have different AI choices for summons. So you don't have to have them attack whatever you are attacking.

As for changing how many creatures you can summon... If you are making a custom "summoner" vocation and not using normal tibia summons, I suggest making a new spell.

An example of my summoner spell on Species RPG when they were able to gain more summons at higher levels was:
Code:
onCastSpell
local summons = getPlayerSummons(cid)
local maxsummons = 1
local level = getPlayerLevel(cid)
if level >= 20 and level < 40 then
  maxsummons = 2
elseif level < 60 then
  maxsummons = 3
elseif level < 80 then
maxsummons = 4
elseif level < 100 then
maxsummons = 5
else
maxsummons = 6
end
if #summons > maxsummons then
  return false
else
summon creature
end

Of course I just scripted that right now, so there might be flaws, but you get the general idea.


That is actually a very nice idea, and does come in handy, but definitely not the same MO as what I was speaking of...

Giddran

That is a nice script but I am pretty sure I can't modify it to do what I was needing, because there still isn't anyway of setting a maxsummon value inside .lua that I know of...
 
Thanks Flatlander, some more requests...

Vocations.xml having absorb, and reflect tags, with chances and all that good stuff... Plus the mounts.xml having all those tags... like this is an example of an older sources mounts.cpp and vocations.cpp

You will see all kinds of goodies, being able to reflect or absorb damage, mounts being able to suppress conditions or add conditions or skills, can set a storage id for the mount, all kinds of good stuff, just please take a look at these two files and you will see what I mean...
 

Attachments

Back
Top