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

[7.7] RealOTS 7.7 Cipsoft files (virgin)

"Value" stands for atk or def value multiplied by the fight stance factor. These are following:
  • full atk: 1.2 (rounded down) / 0.6 (rounded up)
  • balance: 1 / 1
  • full def: 0.6 (rounded up) / 1.8 (rounded down)
E.g. giant sword stats are: 46/22 on balance, 55/14 on full atk, 28/39 on full def.

Monsters use balance in fight. Any creature (player or monster) that is not engaged in fight (i.e. has no target) is always considered full def, regardless of its actual stance. (There is a minor bug to this due to which a summon can still be considered in balance after losing the target.)

Thank you! I'll apply those to the source code. I was able to add defensive and armor formulas successfully. It works perfectly fine
 
I have made these changes successfully. Thank you, @kay, I appreciate it. My interest in understanding and learning C++ is increasing. What better way to learn than by editing and understanding the code of your favorite game?

As I continue to investigate, I have found that there are two different formulas for increasing speed when the player's level increases and decreasing speed when the player's level decreases. This means that when a player's level increases, their speed also increases, and when a player loses a level, their speed decreases.

The first formula, which is @Ezzz Nostarius server, the function which handles the speed formula is:

Where baseSpeed = vocation->getBaseSpeed() + (level - 1);

In TFS 1.5 Downgrade I find this:

Where baseSpeed = vocation->getBaseSpeed() + (2 * (level - 1));

Which one is correct based on RealOTS?

Is there any other information I should know about player/creature speed?
 
The first formula, which is @Ezzz Nostarius server, the function which handles the speed formula is:

Where baseSpeed = vocation->getBaseSpeed() + (level - 1);
Is where the CIP formula is at. Nostalrius baseSpeed stands for "GoStrength".
 
Is where the CIP formula is at. Nostalrius baseSpeed stands for "GoStrength".

Thank you, I'll look more into it.

It depends on what that "baseSpeed" stands for and how it is later used to calculate the actual speed.
You're right @kay, next time I have to post all the information instead of parts of it.
 
I have made these changes successfully. Thank you, @kay, I appreciate it. My interest in understanding and learning C++ is increasing. What better way to learn than by editing and understanding the code of your favorite game?

As I continue to investigate, I have found that there are two different formulas for increasing speed when the player's level increases and decreasing speed when the player's level decreases. This means that when a player's level increases, their speed also increases, and when a player loses a level, their speed decreases.

The first formula, which is @Ezzz Nostarius server, the function which handles the speed formula is:

Where baseSpeed = vocation->getBaseSpeed() + (level - 1);

In TFS 1.5 Downgrade I find this:

Where baseSpeed = vocation->getBaseSpeed() + (2 * (level - 1));

Which one is correct based on RealOTS?

Is there any other information I should know about player/creature speed?
The reason the TFS based version is "double" the speed of the first formula is because of protocol changes over the years. I also noticed when developing on BlackTek that the speed applied to a player was always half of the value I entered.... so in this case, they come out to be the same exact value.
 
The reason the TFS based version is "double" the speed of the first formula is because of protocol changes over the years. I also noticed when developing on BlackTek that the speed applied to a player was always half of the value I entered.... so in this case, they come out to be the same exact value.
It's because the character has 2 legs, so the speed value is divided
 
If you guys don't believe me... fine. w/e. But that is the reason I was told, and here is the update I was linked to when I asked about it.


View attachment 86189

Relevant news post about this update (Tibia 9.8) on their website: Tibia - News (https://www.tibia.com/news/?subtopic=newsarchive&id=2255)

The speed of all creatures in Tibia, including player characters, has been changed. While characters with a lower level walk faster now, the speed of characters with a higher level has been curbed. The speed of monsters has been adjusted accordingly. If you are interested in deeper information, you may want to read through the designated speed changes thread on the test board.
 
While working on my server based on TFS 1.5 8.0, I noticed that creatures do not gain experience when killing another creature. This behavior does not align with the experience gain in Real Tibia and RealOTS.


It shows that when a dragon casts a GFB and kills the scorpions, it gains experience. I'd like to ask you, @kay , if creatures could level up or if the experience gain is just a visual effect?

I was able to solve it, including the calculation and distribution of the experience gained. But I still want to know weather creatures could level up in RealOTS
1721995820864.webp
 
Last edited:
@iNux Yes, monsters in real tibia could level up if their Level was defined in the .mon file. They could also gain health, speed etc. (even mana) from that, but it would have to be defined in their skills as well. It wasn't the case for any actual monster, but it was technically possible. Real tibia monsters were very much like players, they had skills and inventory. In fact, those .mon files stand for races, not just monsters. Every creature in tibia (monster, player, npc) has race and inherits its characteristics from the corresponding file. Players are humans and so they inherit human.mon settings, but you could also change some player's race in their .usr file for them to become a dragon for example.
 
Last edited:
@iNux Yes, monsters in real tibia could level up if their Level was defined in the .mon file. They could also gain health, speed etc. (even mana) from that, but it would have to be defined in their skills as well. It wasn't the case for any actual monster, but it was technically possible. Real tibia monsters were very much like players, they had skills and inventory. In fact, those .mon files stand for races, not just monsters. Every creature in tibia (monster, player, npc) has race and inherits its characteristics from the corresponding file. Players are humans and so they inherit human.mon settings, but you could also change some player's race in their .usr file for them to become a dragon for example.

Amazing, good to know. Thank you very much!
 
Hey @kay ,

I'm currently working on implementing creature skill increase and defense increase. I assume that, by reading through our previous conversations, a monster is like a player - it can increase its skills and its defense.

I've currently succeeded in increasing the creatures' skill and defense. The increase in skill is currently based on the number of attacks, and defense is based on how many times it has been attacked.

I even found out that current tibia characters also increases their skills: A Bug Doing 40 Damage.

1722175705457.webp

How does skill increase formula for creatures and the defense formula for creatures in RealOTS look like? You mentioned that different creatures increase their skills much faster - why is that?
 
Last edited:
A monster's attack and defense abilites both increase as they level up in fist fighting. Their atk and def values are constant.
Fist fighting is the skill used by monsters, since they never wield any weapon or shield (those are always created inside the bag, or at least that was the case back in 7.7).
Skill progression works the same as for players, therefore their fist fighting skill only increases as they hit and NOT when they are being hit. The formula for their damage is also the same as for players.
 
A monster's attack and defense abilites both increase as they level up in fist fighting. Their atk and def values are constant.
Fist fighting is the skill used by monsters, since they never wield any weapon or shield (those are always created inside the bag, or at least that was the case back in 7.7).
Skill progression works the same as for players, therefore their fist fighting skill only increases as they hit and NOT when they are being hit. The formula for their damage is also the same as for players.

Thank you for clarifying. It should work perfectly fine now :)

I appreciate your answers. It's enjoyable trying to bring back things that have been forgotten. I hope that my questions don't tire you :p

I found this as well, making me understand why certain creatures level their skills faster,
 
Last edited:
Hello everyone, I've been playing with this for a while and I can't seem to wrap my head around on how bags are added to loot corpses.
Does anyone have an idea?
 
Hello everyone, I've been playing with this for a while and I can't seem to wrap my head around on how bags are added to loot corpses.
Does anyone have an idea?
Bag is added in two scenarios:
  • there are no more free slots in the inventory
  • an item that can only drop in a bag is being added to the loot (e.g. weapons, shields etc.)
 
Bag is added in two scenarios:
  • there are no more free slots in the inventory
  • an item that can only drop in a bag is being added to the loot (e.g. weapons, shields etc.)
Kay, ton of respect to you, you're running one of the biggest retro servers, and still super helpful on this thread +1
 
Back
Top