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

[Bug] TFS 1.4+ InitDamage attribute in fields doesn't work properly.

There are a lot of Tibicam files from many versions of Tibia on tibiabr.com: https://www.tibiabr.com/?ddownload=8126
I have searched for the ones with fields in 7.6 repository. Just type "demon" in searchbox and it's one of those files. The one with scorpion was from a player hunting on Darashia, Necro area. There are also many files from Ankrahmun tombs with poison fields.
 
Last edited by a moderator:
this is how "poison field" works on all creatures
  • first step deals no damage
  • condition ticks every 4 seconds (60 times). in total you will loose 100 health in 4 minutes. (5 x1, 4 x4, 3 x7, 2 x10, 1 x38)
  • entering the field again while having a condition will renew it
  • standing still you gain condition like normal, but when it have completed 100 damage, you will loose 1 health every 4 seconds (infinity)
  • green effect is displayed on first step, each tick, condition refresh and immunity
Code:
Damage(Obj1,Obj2,32,100), Effect(Obj2,9)
5:15 player enters poison field without any condition
- no stepin damage, poison condition, green ring effect

7:57 player enters poison field with poison condition
- no stepin damage, condition refresh, green ring effect

i'm curious about how poison conditon is calculated for monster melee attacks or player poison storm/envenom spells
 
Last edited:
I will tell you "what else" mr angry.
Since when is presenting facts a sign of being angry? Anyway,
First, let's start from the quotation: "How in the Earth can the leaked server have it wrong"
The answer is: That is bugged test server, not original release and that is why conditions and even paralyze runes are bugged there.
Test servers have been being released to make sure that the game is able to be released without bugs. In this case player help developer to find bugs on test server.
So yes, test servers usually are bugged.
I don't wanna know what you've smoked but you better stop. The leaked files are the record of the world Zanera from May 2006. The server is the actual Tibia server Zanera world ran on (and all the other worlds). You never even looked into them, did you? You are the biggest ignorant I have seen here in a while. I mean, it's absolutely hilarious to think Cip would release their server files for players to help them find bugs on a test server, rotfl.

In old times of tibia 7.6 when an immune monster has stepped on a field it didnt show field effect, here you are wrong. It only displayed blockhit animation and it doesnt affect poison gas. Poison gas showed only animation of green circles without the blockhit effect.
Trust me, I have watched tons of Tibicam videos where Demon steps on fire and it only displays blockhit animation without field effect and tibicam videos where Scorpion steps on a poison gas and it didnt display blockhit but only green circles animation, so here you are wrong, Kay.

Looks like you have not tested it properly.
Looks like you have not read it properly. I said "prior to 7.6". So again, before 7.6 the element animation always appeared, even if the monster was immune. Since 7.6 that animation was removed except for poison field which didn't deal direct damage. Tibiantis aims to resemble 7.4 version that's why it works as in 7.4. On the other hand, TFS resembles newer Tibia, that's why poison field deals direct 5 damage on step there, because this was also changed some time later. The leaked cip server has it exactly as it worked in 7.7
 
this is how "poison field" works on all creatures
  • first step deals no damage
  • condition ticks every 4 seconds (60 times). in total you will loose 100 health in 4 minutes. (5 x1, 4 x4, 3 x7, 2 x10, 1 x38)
  • entering the field again while having a condition will renew it
  • standing still you gain condition like normal, but when it have completed 100 damage, you will loose 1 health every 4 seconds (infinity)
  • green effect is displayed on first step, each tick, condition refresh and immunity
Code:
Damage(Obj1,Obj2,32,100), Effect(Obj2,9)
5:15 player enters poison field without any condition
- no stepin damage, poison condition, green ring effect

7:57 player enters poison field with poison condition
- no stepin damage, condition refresh, green ring effect

i'm curious about how poison conditon is calculated for monster melee attacks or player poison storm/envenom spells
Also note when an immune monster steps on poison field it displays animation of const_me_green_rings instead of const_me_block_hit like it is with fire and energy fields.
Second thing: condition with bigger amount of total damage prevails above the lesser (ancient scarab's poison condition deals more damage than poison gas so if you have been hit by poison from scarab and then stepped on poison gas, the condition will not be replaced. Same thing with for example being hit by soulfire rune and stepping on fire field but the fire or energy field ofcourse should deal damage on step in
Post automatically merged:

Since when is presenting facts a sign of being angry? Anyway,


I don't wanna know what you've smoked but you better stop. The leaked files are the record of the world Zanera from May 2006. The server is the actual Tibia server Zanera world ran on (and all the other worlds). You never even looked into them, did you? You are the biggest ignorant I have seen here in a while. I mean, it's absolutely hilarious to think Cip would release their server files for players to help them find bugs on a test server, rotfl.


Looks like you have not read it properly. I said "prior to 7.6". So again, before 7.6 the element animation always appeared, even if the monster was immune. Since 7.6 that animation was removed except for poison field which didn't deal direct damage. Tibiantis aims to resemble 7.4 version that's why it works as in 7.4. On the other hand, TFS resembles newer Tibia, that's why poison field deals direct 5 damage on step there, because this was also changed some time later. The leaked cip server has it exactly as it worked in 7.7
Zanera was experimentional world those times, the server was bugged. The files somehow leaked and Cipsoft decided to merge Zanera with 2 other worlds ,whose names I dont remember, and create Solidera. Then they fixed all of the bugs and removed experimentional status. You could for example paralyze someone multiple times until he becomes ultra slow and in result stays in one place. Fire fields thrown by players dealed randomly 20 or 10 damage when they should deal 10. Same with energy 30 or 15. One of my characters was Savoldelli, I had 40+ ek then.
"I don't wanna know what you've smoked but better stop."
How many times are you going to insult me yet? I hope you feel more valued and your opinion of yourself has grown.
Bear your mind that sky is the limit.
Not surprised, typical Tibia community. One of the owners of big server Tibiantis, you should be embarrassed
 
Last edited by a moderator:
Zanera was experimentional world those times, the server was bugged. The files somehow leaked and Cipsoft decided to merge Zanera with 2 other worlds ,whose names I dont remember, and create Solidera. Then they fixed all of the bugs and removed experimentional status.
What? Zanera was merged in 2018. The leak is from around 2006 (IIRC). Experimental worlds were introduced in 2017, those were Zuna and Zunera. 🤔
 
How many times are you going to insult me yet? I hope you feel more valued and your opinion of yourself has grown.
Bear your mind that sky is the limit.
Not surprised, typical Tibia community. One of the owners of big server Tibiantis, you should be embarrassed
I did not insult anyone, I'm just asking you to sober up before posting, because you clearly were not when you made up this (made up - literally):
First, let's start from the quotation: "How in the Earth can the leaked server have it wrong"
The answer is: That is bugged test server, not original release and that is why conditions and even paralyze runes are bugged there.
Test servers have been being released to make sure that the game is able to be released without bugs. In this case player help developer to find bugs on test server.
So yes, test servers usually are bugged.
Zanera was experimentional world those times, the server was bugged. The files somehow leaked and Cipsoft decided to merge Zanera with 2 other worlds ,whose names I dont remember, and create Solidera. Then they fixed all of the bugs and removed experimentional status. You could for example paralyze someone multiple times until he becomes ultra slow and in result stays in one place.
Solidera was created in 2018. The first experimental worlds were opened in 2017. The first preview game worlds - in 2012. Zanera files were stolen back in 2006. Deduce the rest yourself if you are even capable.
You clearly have not looked into these files, not a single time. You don't know the story behind them. You obviously did not even play back then, otherwise you would have known that nothing like "experimental worlds" existed at the time (for a long time yet).
But what's the worst, even when we put all the facts straight in your face, you deny to accept them. Instead, you continue preaching in that "smart" tone about how "bugged" those files are, how "bugged" other people servers are and how embarrassed those people should be. Pathetic.

zuna and zunera were copy of zanera as i remember - maybe thats why he got lost
No, they were not. Zanera was a normal world and was merged with Amera and Silvera (other normal American pvp worlds) in 2018. Zuna and Zunera are a result of merging preview and pvp-enfo worlds, and have NOTHING to do with Zanera. It takes literally 20 seconds to find that info on tibia wiki.
 
Last edited:
Behaviour from <=7.72. I dont know if 7.72+ aswell. Can someone do that?

[IMMUNE MONSTERS]
1. energy and fire fields display const_me_blockhit animation when an immune to the field type monster steps on it and only on step in. Currently animation alaso lasts every time when a monster burns or is hit by energy so it is wrong
2. same for poison field but instead of const_me_blockhit i want const_me_green_ring

[NORMAL BEHAVIOUR]
1. i dont want poison gas to deal any damage on step in, only animation of const_me_green_ring appears
2. If for examplea an ancient scarab poisons you and you step on poison gas, poison gas doesnt add condition because ancient scarab's condition deals more total damage than poison gas in total. same with runes, player who was hit by soulfire rune and stepped on fire field or energy field, should receive damage on step in but not condition a soulfire rune condition deals more damage in total than fire field.
Post automatically merged:

I have an idea, it is a bit shit coding but its working for not displaying damage on poison fields and instead of blockhit, poison animation:
delete this previous code in
1. bool ConditionDamage::startCondition(Creature* creature)
and here aswell:
2. void ConditionDamage::addCondition(Creature* creature, const Condition* condition)
delete this:
if (initDamage == 0) {
return false;
}

// delayed condition does no initial damage
if (!doDamage(creature, initDamage)) {
return false;
}
and replace with this one:
if (!delayed)
{
if (initDamage == 0) {
g_game.addMagicEffect(creature->getPosition(), CONST_ME_GREEN_RINGS);
}
else if (initDamage != 0) {
doDamage(creature, initDamage);
}
}
whenever initDamage is ZERO (so only poison gas deals zero damage) it displays animation. if it is -1 or > 0 then it deals damage XD
weird but works. now i need to fix the total damage for conditions somehow :D
 

Attachments

Last edited:
Behaviour from <=7.72. I dont know if 7.72+ aswell. Can someone do that?

[IMMUNE MONSTERS]
1. energy and fire fields display const_me_blockhit animation when an immune to the field type monster steps on it and only on step in. Currently animation alaso lasts every time when a monster burns or is hit by energy so it is wrong
2. same for poison field but instead of const_me_blockhit i want const_me_green_ring

[NORMAL BEHAVIOUR]
1. i dont want poison gas to deal any damage on step in, only animation of const_me_green_ring appears
2. If for examplea an ancient scarab poisons you and you step on poison gas, poison gas doesnt add condition because ancient scarab's condition deals more total damage than poison gas in total. same with runes, player who was hit by soulfire rune and stepped on fire field or energy field, should receive damage on step in but not condition a soulfire rune condition deals more damage in total than fire field.
Post automatically merged:

I have an idea, it is a bit shit coding but its working for not displaying damage on poison fields and instead of blockhit, poison animation:
delete this previous code in
1. bool ConditionDamage::startCondition(Creature* creature)
and here aswell:
2. void ConditionDamage::addCondition(Creature* creature, const Condition* condition)
delete this:

and replace with this one:

whenever initDamage is ZERO (so only poison gas deals zero damage) it displays animation. if it is -1 or > 0 then it deals damage XD
weird but works. now i need to fix the total damage for conditions somehow :D
fire fields also for immune monsters: small fire animation
 
Behaviour from <=7.72. I dont know if 7.72+ aswell. Can someone do that?

[IMMUNE MONSTERS]
1. energy and fire fields display const_me_blockhit animation when an immune to the field type monster steps on it and only on step in. Currently animation alaso lasts every time when a monster burns or is hit by energy so it is wrong
2. same for poison field but instead of const_me_blockhit i want const_me_green_ring

[NORMAL BEHAVIOUR]
1. i dont want poison gas to deal any damage on step in, only animation of const_me_green_ring appears
2. If for examplea an ancient scarab poisons you and you step on poison gas, poison gas doesnt add condition because ancient scarab's condition deals more total damage than poison gas in total. same with runes, player who was hit by soulfire rune and stepped on fire field or energy field, should receive damage on step in but not condition a soulfire rune condition deals more damage in total than fire field.
Post automatically merged:

I have an idea, it is a bit shit coding but its working for not displaying damage on poison fields and instead of blockhit, poison animation:
delete this previous code in
1. bool ConditionDamage::startCondition(Creature* creature)
and here aswell:
2. void ConditionDamage::addCondition(Creature* creature, const Condition* condition)
delete this:

and replace with this one:

whenever initDamage is ZERO (so only poison gas deals zero damage) it displays animation. if it is -1 or > 0 then it deals damage XD
weird but works. now i need to fix the total damage for conditions somehow :D
did you manage to fix it? i have this not working yet like i would like and it's a bit buggy too with the commits by zbzuu
 
Behaviour from <=7.72. I dont know if 7.72+ aswell. Can someone do that?

[IMMUNE MONSTERS]
1. energy and fire fields display const_me_blockhit animation when an immune to the field type monster steps on it and only on step in. Currently animation alaso lasts every time when a monster burns or is hit by energy so it is wrong
2. same for poison field but instead of const_me_blockhit i want const_me_green_ring

[NORMAL BEHAVIOUR]
1. i dont want poison gas to deal any damage on step in, only animation of const_me_green_ring appears
2. If for examplea an ancient scarab poisons you and you step on poison gas, poison gas doesnt add condition because ancient scarab's condition deals more total damage than poison gas in total. same with runes, player who was hit by soulfire rune and stepped on fire field or energy field, should receive damage on step in but not condition a soulfire rune condition deals more damage in total than fire field.
Post automatically merged:

I have an idea, it is a bit shit coding but its working for not displaying damage on poison fields and instead of blockhit, poison animation:
delete this previous code in
1. bool ConditionDamage::startCondition(Creature* creature)
and here aswell:
2. void ConditionDamage::addCondition(Creature* creature, const Condition* condition)
delete this:

and replace with this one:

whenever initDamage is ZERO (so only poison gas deals zero damage) it displays animation. if it is -1 or > 0 then it deals damage XD
weird but works. now i need to fix the total damage for conditions somehow :D
this bugs fire fields that does not do damage fire in the third phase of decaying
 
Zanera was experimentional world those times, the server was bugged. The files somehow leaked and Cipsoft decided to merge Zanera with 2 other worlds ,whose names I dont remember, and create Solidera. Then they fixed all of the bugs and removed experimentional status.
The files didn't leak "somehow", we know exactly what happened, someone social engineered Cips hoster and pretty much typed tar -czfv game.tar . in the home directory and rsynced the file or so the story goes. But I can't find any evidence that Zanera was some experimental world at that time, it was 2006 version 7.7. Do you have any insider info that we don't?
 
b<ck to the point does anybody knows how to change these new commits in order to reproduce the old 7.72 or 7.4 behavior?
 
who has this working and is willing to share the code or knows a server open source out there that has this working as it should in old protocols?
somebody knows if classic tibia had this working as it should?
 
Lua:
TypeID        = 2121
Name        = "poison gas"
Flags       = {Avoid,CollisionEvent,Expire,Magicfield,Unmove}
Attributes  = {AvoidDamageTypes=poison,Brightness=2,ExpireTarget=0,LightColor=104,TotalExpireTime=250}
MagicField  = {Type=poison,Count=100,Damage=5}
C++:
else if (conditionType == CONDITION_POISON) {
        const int32_t r_cycle = cycle;
        if (r_cycle) {
            if (count <= 0) {
                count = max_count;
                int32_t f = factor_percent * r_cycle / 1000;
                if (!f) {
                    f = 2 * (r_cycle > 0) - 1;
                }

                cycle = r_cycle - f;
                doDamage(creature, -f);
            } else {
                --count;
            }
        } else {
            return false;
        }
I when got the server from the beginning had to fix a problem of this type, did not reset the hits when passing in the fields something like this, i do not know if this is what you are looking for. first confirm your configuration of the items fields, and then see this Condition.cpp more or less on line 897.
Look also in items.cpp ~563 line.
C++:
else if (identifier == "poison") {
                            conditionDamage = new ConditionDamage(CONDITIONID_COMBAT, CONDITION_POISON);
                            conditionDamage->setParam(CONDITION_PARAM_DELAYED, true);
                            combatType = COMBAT_EARTHDAMAGE;
                            items[id].combatType = combatType;
                            items[id].conditionDamage.reset(conditionDamage);
For reset item attacking player.
 
Last edited:
I need help adapting this to tfs somebody is willing to lend me a hand in order to make this work as i want please?

thanks
 
Back
Top