Jump to content

Elin:Code Analysis/Feats: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 61: Line 61:
public const int featReboot = 1410;
public const int featReboot = 1410;
public const int featHeavyCasting = 1654;
public const int featHeavyCasting = 1654;
public const int featPaladin2 = 1408;
public const int featPaladin2 = 1408; *
public const int featShiva = 1224;
public const int featShiva = 1224;
public const int featLoyal = 1225;
public const int featLoyal = 1225;
Line 113: Line 113:
public const int featElderCrab = 1219;
public const int featElderCrab = 1219;
public const int featBaby = 1232;
public const int featBaby = 1232;
public const int featWarrior = 1400;
public const int featWarrior = 1400; *
public const int featThief = 1401;
public const int featThief = 1401; x
public const int featFarmer = 1403;
public const int featFarmer = 1403; *
public const int featArcher = 1404;
public const int featArcher = 1404; *
public const int featPianist = 1405;
public const int featPianist = 1405; *
public const int featTourist = 1406; *
public const int featTourist = 1406; *
public const int featWizard = 1402; x  
public const int featWizard = 1402; x  
Line 310: Line 310:
** Specifically, increase 10% per level of feat (i.e. 20% total).
** Specifically, increase 10% per level of feat (i.e. 20% total).


=== featArcher (Ranged Mastery) & featWarrior (Weapon Mastery) ===
<syntaxhighlight lang="c#" line="1">
dMulti = 0.6f + (float)(weaponSkill.GetParent(CC).Value + weaponSkill.Value / 2 + CC.Evalue(flag3 ? 304 : (IsRanged ? 133 : 132))) / 50f;
dMulti += 0.05f * (float)CC.Evalue(IsRanged ? 1404 : 1400);
</syntaxhighlight>
* This feat increase the damage multiplier of ranged attack/melee attack by 0.05 per level of feat.
** Not 5% flat, mind you. The default damage multiplier is 0.6, and with more skills, the effect of this feat is diminished.
=== featFarmer (Farming Legs) ===
<syntaxhighlight lang="c#" line="1">
    int num = BaseStats.CC.Evalue(1403);
if (a < 0 && num > 0)
{
a = a * 100 / (100 + EClass.rnd(num + 1) * 20);
if (a == 0)
{
return;
}
}
</syntaxhighlight>
* For the feat of farmer "Farming Legs 2", the stamina cost of actions is randomly 100%, 83%, 72%.
=== featPaladin2 (Defensive Instinct) ===
<syntaxhighlight lang="c#" line="1">
foreach (Chara chara3 in EClass._map.charas)
{
if (Chara.IsFriendOrAbove(chara3) && chara3.HasElement(1408) && chara3.faith == EClass.game.religions.Healing && EClass.world.date.GetRawDay() != chara3.GetInt(58) && (!chara3.IsPCFaction || IsPCFaction))
{
Msg.alwaysVisible = true;
Msg.Say("layhand", chara3, this);
Msg.Say("pray_heal", this);
hp = MaxHP;
Chara.AddCondition<ConInvulnerable>();
PlayEffect("revive");
PlaySound("revive");
chara3.SetInt(58, EClass.world.date.GetRawDay());
return;
}
}
</syntaxhighlight>
* Remember that you can only use layhand ability on a character that is friend or above.
== Race Feats ==
=== featMetal (Metal 999) ===
<syntaxhighlight lang="c#" line="1">
case 1218:
ModBase(950, a / 40, hide: false);
ModBase(952, a / 40, hide: false);
ModBase(955, a / 40, hide: false);
ModBase(953, a / 40, hide: false);
ModBase(958, a / 40, hide: false);
ModBase(956, a / 40, hide: false);
ModBase(954, a / 40, hide: false);
ModBase(959, a / 40, hide: false);
ModBase(964, a / 40, hide: false);
ModBase(961, a / 40, hide: false);
break;
      ...
  if (HasElement(1218))
{
dmg = dmg * (1000 - Evalue(1218)) / 1000;
if (dmg <= 0 && EClass.rnd(4) == 0)
{
dmg++;
}
}
</syntaxhighlight>
* The resistance granted to metal races only work when the feat is at very, very high level.
** Specifically, level 999 grant 24 level resistance for each type of damage.
* Furthermore, for any damage done, the damage is decreased sharply.
** Specifically, level 999 grant a damage reduction of 99.9%, rounded down to nearest integer.
*** 1000 damage will become 1, and anything less than 999 is shrugged off.
** But if the damage is reduced to 0 at last step, in 1/4 chances the damage is returned to 1.


[[Category:EN]]
[[Category:EN]]
[[Category:Elin Spoiler]]
[[Category:Elin Spoiler]]
443

edits