Elin:Code Analysis/Combat: Difference between revisions

m
 
(6 intermediate revisions by 3 users not shown)
Line 373: Line 373:
Attack Type is always '''Blunt'''
Attack Type is always '''Blunt'''


Weight Value is '''√Throwing Item Weight x 3 + if''' '''is Throwing Weapon: 75''' else '''0''', with floor of '''10''' to ceiling of '''400''' + '''√(Strength x 50)'''
Weight Value is ['''√Throwing Item Weight] x 3 + 25 + if''' '''is Throwing Weapon: 75''' else '''0''', with floor of '''10''' to ceiling of '''400''' + ['''√Strength] x 50'''


Material Value is '''Material Hardness''', with floor of '''if''' '''is Throwing Weapon: 40''' else '''0''' to ceiling of '''200'''
Material Value is '''Material Hardness''', with floor of '''if''' '''is Throwing Weapon: 40''' else '''25''' to ceiling of '''200'''


Dice Number is always '''2'''
Dice Number is always '''2'''
Line 467: Line 467:
Penetration is: '''Character Penetration''' + '''Weapon Penetration'''
Penetration is: '''Character Penetration''' + '''Weapon Penetration'''
==Spellcasting/Spellpower==
==Spellcasting/Spellpower==
<syntaxhighlight lang="c#">
This is line 44 of Ability.cs
public override int GetPower(Card c)
 
{
 
    int num = base.Value * 8 + 50;
Here we have the code that describes which formula it uses to determine the spellpower of an NPC's spell<syntaxhighlight lang="c#" line="1">
    if (!c.IsPC)
    public override int GetPower(Card c)
     {
     {
         num = Mathf.Max(num, c.LV * 6 + 30);
         int num = base.Value * 8 + 50;
        if (!c.IsPC)
        {
            num = Mathf.Max(num, c.LV * 6 + 30);
            if (c.IsPCFactionOrMinion && !base.source.aliasParent.IsEmpty())
            {
                num = Mathf.Max(num, c.Evalue(base.source.aliasParent) * 4 + 30);
            }
        }
        num = EClass.curve(num, 400, 100, 75);
        if (this is Spell)
        {
            num = num * (100 + c.Evalue(411)) / 100;
        }
        return num;
     }
     }
    num = EClass.curve(num, 400, 100, 75);
</syntaxhighlight>Here we have the curve function:<syntaxhighlight lang="c#" line="1">
    if (this is Spell)
    {
        num = num * (100 + c.Evalue(411)) / 100;
    }
    return num;
}
</syntaxhighlight><syntaxhighlight lang="c#">
public static int curve(int a, int start, int step, int rate = 75)
public static int curve(int a, int start, int step, int rate = 75)
{
{
Line 642: Line 649:
|
|
|}
|}
== Spellcasting/Buff Spells ==
{| class="wikitable"
|+
!Type
!Power
!Duration
!Notes
|-
|Intonation of (Element)
|(CHA/40 + 1)*5
|Spellpower/25 + 8
|The power in this case is the resistance it provides
|-
|Telepathy
|
|Spellpower/5 + 15
|
|-
|Invisibility
|Spellpower/30 + 5
|Spellpower/12 + 6
|
|-
|See Invisible
|Spellpower/40 + 6
|Spellpower/6 + 12
|
|-
|Disguise
|
|Spellpower/2 + 20
|
|-
|Cat's Eye
|Spellpower/30 + 5
|Spellpower*3
|
|-
|Holy Veil
|
|Spellpower/6 + 5
|
|-
|Elemental Shield
|Spellpower/200 + 5
|Spellpower/15 + 8
|The power in this case is the resistance it provides for all three types
|-
|Hero
|STR: Spellpower/30 + 5
DEX: Spellpower/30 + 5
|Spellpower/4 + 10
|
|-
|Levitation
|
|Spellpower/5 + 10
|
|-
|Holy Shield
|Spellpower/15 + 15
|Spellpower/3 + 10
|
|-
|Divine Wisdom
|MAG: Spellpower/40 + 6
LER: Spellpower/40 + 6
LIT: Spellpower/40 + 3
|Spellpower/4 + 10
|
|-
|Broomification
|
|Spellpower + 30
|
|}
The cells with empty Power entries do not scale.
== Spellcasting/Debuff Spells ==
{| class="wikitable"
|+
!Type
!Power
!Duration
!Notes
|-
|Miasma
|
|Spellpower/100 + 5
|
|-
|Gravity
|
|Spellpower/20 + 10
|
|-
|Silence
|
|Spellpower/80 + 5
|
|-
|Weakness
|
|Spellpower/50 + 10
|
|-
|Bane
|Spellpower/30 + 50
|Spellpower/50 + 10
|The power in this case is the luck it reduces
|-
|Excommunicate
|
|Spellpower/50 + 20
|
|-
|Elemental Scar
|Spellpower/100 + 5
|Spellpower/40 + 8
|The power in this case is the resistance it reduces for all three types
|}
==Spellcasting/Summoning Spells==
==Spellcasting/Summoning Spells==
<syntaxhighlight lang="c#" line="1">
<syntaxhighlight lang="c#" line="1">
Line 670: Line 801:
!Notes
!Notes
|-
|-
|Summon Bits
|Summon Funnels
|20 + rnd (10) + Spellpower / 20
|20 + rnd (10) + Spellpower / 20
|Spellpower / 15
|Spellpower / 15
Line 690: Line 821:
|Use Suicide Explostion attack
|Use Suicide Explostion attack
|}
|}
Note that summons other than Bits has infinite duration
Note that summons other than Funnels has infinite duration
[[Category:EN]]
[[Category:EN]]
[[Category:Elin Spoiler]]
[[Category:Elin Spoiler]]