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

TFS 1.X+ burnt, poisoned, energized are rising fast nekiro 7.72 version 1.5

bpm91

Intermediate OT User
Joined
May 23, 2019
Messages
879
Solutions
7
Reaction score
122
Location
Brazil
YouTube
caruniawikibr
hello, my fields, when hitting a monster or something, it makes the damage go up quickly something like 0.5 seconds, at least in the first damage, after going up about 5 or 6 damage, it goes back to normal time. does anyone know how to fix this?

i use tf 1.5 nekiro 7.72
 
Solution
nope, it means that tfs have wrong value :D instead of 10000 it should be 8000

Could you point me out why im not getting full damage? if i use firebomb my player get initial damage 10 and then 5
im using the updated xml fields
Lua:
<item id="1487" article="a" name="fire">
        <attribute key="type" value="magicfield" />
        <attribute key="decayTo" value="1488" />
        <attribute key="duration" value="120" />
        <attribute key="field" value="fire">
            <attribute key="initdamage" value="20" />
            <attribute key="ticks" value="8000" />
            <attribute key="count" value="7" />
            <attribute...
there is a problem with this commit, for some reason i have to double the values in items.xml
to get 20 of fire initdamage in game i have to double the value in items.xml, is there a missing commit @zbizu ?
Lua:
    <item id="1487" article="a" name="fire field"> 
        <attribute key="type" value="magicfield" />
        <attribute key="decayTo" value="1488" />
        <attribute key="duration" value="120" />
        <attribute key="field" value="fire">
            <attribute key="initdamage" value="40" />

 
there is a problem with this commit, for some reason i have to double the values in items.xml
to get 20 of fire initdamage in game i have to double the value in items.xml, is there a missing commit @zbizu ?
Lua:
    <item id="1487" article="a" name="fire field">
        <attribute key="type" value="magicfield" />
        <attribute key="decayTo" value="1488" />
        <attribute key="duration" value="120" />
        <attribute key="field" value="fire">
            <attribute key="initdamage" value="40" />


The problem of dealing half damage is a PVP damage reduce in:
src/condition.cpp lines 1371-1386
Lua:
bool ConditionDamage::doDamage(Creature* creature, int32_t healthChange)
{
    if (creature->isSuppress(getType()) || creature->isImmune(getType())) {
        return false;
    }
    CombatDamage damage;
    damage.origin = ORIGIN_CONDITION;
    damage.primary.value = healthChange;
    damage.primary.type = Combat::ConditionToDamageType(conditionType);
    Creature* attacker = g_game.getCreatureByID(owner);
    if (field && creature->getPlayer() && attacker && attacker->getPlayer()) {
        // if you want that magic fields from players do less or more damage, change the mathematics below.
        damage.primary.value = static_cast<int32_t>(std::round(damage.primary.value / 2));
    }

change this line to:
Lua:
damage.primary.value = static_cast<int32_t>(std::round(damage.primary.value / 1));
 
The problem of dealing half damage is a PVP damage reduce in:
src/condition.cpp lines 1371-1386
Lua:
bool ConditionDamage::doDamage(Creature* creature, int32_t healthChange)
{
    if (creature->isSuppress(getType()) || creature->isImmune(getType())) {
        return false;
    }
    CombatDamage damage;
    damage.origin = ORIGIN_CONDITION;
    damage.primary.value = healthChange;
    damage.primary.type = Combat::ConditionToDamageType(conditionType);
    Creature* attacker = g_game.getCreatureByID(owner);
    if (field && creature->getPlayer() && attacker && attacker->getPlayer()) {
        // if you want that magic fields from players do less or more damage, change the mathematics below.
        damage.primary.value = static_cast<int32_t>(std::round(damage.primary.value / 2));
    }

change this line to:
Lua:
damage.primary.value = static_cast<int32_t>(std::round(damage.primary.value / 1));
hey pips, do you know how to make poison field work like before? without initDamage in first and other steps, only add condition and show poison gas effect
 
I found a bug that when the player is burned by fire, he does not receive damage from searing fire
searing fire only does damage if the player is not searing fire.
 
I found a bug that when the player is burned by fire, he does not receive damage from searing fire
searing fire only does damage if the player is not searing fire.
XML:
    <item id="1506" article="a" name="searing fire">
        <attribute key="type" value="magicfield"/>
        <attribute key="decayTo" value="1507" />
        <attribute key="duration" value="10" />
        <attribute key="replaceable" value="0"/>
        <attribute key="field" value="fire">
            <attribute key="initdamage" value="300"/>
            <attribute key="ticks" value="8000" />
            <attribute key="count" value="1" />
            <attribute key="damage" value="10" />
        </attribute>
    </item>
 
And.
with that, when step in field they will show spark as effect and no condition
i think you can just remove the entire line of init damage if you dont want that..

on my server i do have init damage for poison fields.. it's like this:
XML:
    <item id="1490" article="a" name="poison field">
        <attribute key="type" value="magicfield" />
        <attribute key="decayTo" value="0" />
        <attribute key="duration" value="120" />
        <attribute key="field" value="poison">
            <attribute key="initdamage" value="15" />
            <attribute key="ticks" value="5000" />
            <attribute key="count" value="1" />
            <attribute key="damage" value="15" />
            <attribute key="start" value="10" />
            <attribute key="damage" value="100" />      
        </attribute>
    </item>
 
And.

i think you can just remove the entire line of init damage if you dont want that..

on my server i do have init damage for poison fields.. it's like this:
XML:
    <item id="1490" article="a" name="poison field">
        <attribute key="type" value="magicfield" />
        <attribute key="decayTo" value="0" />
        <attribute key="duration" value="120" />
        <attribute key="field" value="poison">
            <attribute key="initdamage" value="15" />
            <attribute key="ticks" value="5000" />
            <attribute key="count" value="1" />
            <attribute key="damage" value="15" />
            <attribute key="start" value="10" />
            <attribute key="damage" value="100" />   
        </attribute>
    </item>
doesnt work, as condition.cpp is, we need initdamage atleast 1 damage if we want to apply damage or condition, thanks for repply
 
doesnt work, as condition.cpp is, we need initdamage atleast 1 damage if we want to apply damage or condition, thanks for repply
hmm, did you test it? cuz i tested like this below and worked (but yes, it shows sparks at first step)
XML:
    <item id="1490" article="a" name="poison field">
        <attribute key="type" value="magicfield" />
        <attribute key="decayTo" value="0" />
        <attribute key="duration" value="120" />
        <attribute key="field" value="poison">
            <attribute key="ticks" value="5000" />
            <attribute key="start" value="10" />
            <attribute key="damage" value="100" />      
        </attribute>
    </item>
 
to me no show sparks


<item id="1490" article="a" name="poison field">
<attribute key="type" value="magicfield" />
<attribute key="decayTo" value="0" />
<attribute key="duration" value="120" />
<attribute key="field" value="poison">
<attribute key="ticks" value="5000" />
<attribute key="start" value="5" />
<attribute key="damage" value="100" />
</attribute>
 
The problem of dealing half damage is a PVP damage reduce in:
src/condition.cpp lines 1371-1386
Lua:
bool ConditionDamage::doDamage(Creature* creature, int32_t healthChange)
{
    if (creature->isSuppress(getType()) || creature->isImmune(getType())) {
        return false;
    }
    CombatDamage damage;
    damage.origin = ORIGIN_CONDITION;
    damage.primary.value = healthChange;
    damage.primary.type = Combat::ConditionToDamageType(conditionType);
    Creature* attacker = g_game.getCreatureByID(owner);
    if (field && creature->getPlayer() && attacker && attacker->getPlayer()) {
        // if you want that magic fields from players do less or more damage, change the mathematics below.
        damage.primary.value = static_cast<int32_t>(std::round(damage.primary.value / 2));
    }

change this line to:
Lua:
damage.primary.value = static_cast<int32_t>(std::round(damage.primary.value / 1));
cool thanks !
 
Back
Top