吉安娜
人形
每秒回復 2% 生命
Gianna
幽魂N
標籤法術, human, humanoid, is_unarmed, lightning_affinity, medium_movement, metal_armour, no_pantheon_mod, physical_affinity, puncturing_weapon, red_blood
生命
400%
生命轉為護盾
33%
護甲
+33%
閃避
+33%
異常狀態臨界值
400%
抗性
40 40 40 25
傷害
400%
命中
100%
暴擊率
+5%
暴擊加成
+130%
攻擊距離
4 ~ 11
攻擊間隔
1.755 秒
傷害分佈
±20%
經驗值
200%
Model Size
100%
類型
HeistAlliedNPC
Metadata
HeistIllusionist1_
等級
68
生命
25,733
護甲
38,291
閃避
6,303
能量護盾
2,022
傷害
1,494
法術傷害
1,494
命中
290
攻擊間隔
1.755
經驗值
20,510
異常狀態臨界值
25,733
冰緩
81
感電
81
易碎
460
焦灼
81
殘喘
225
MPSHeistGiannaSpellProjectile
法術, 投射物, 玩家投射物, 可觸發
暴擊率: 5%
施放時間: 1.333 秒
冷卻時間: 2 秒
造成 48659034 閃電傷害
50% 機率感電敵人
base is projectile [1]
maintain projectile direction when using contact position [1]
monster projectile variation [153]
projectile uses contact position [1]
use scaled contact offset [1]
MPSHeistGiannaSpellProjectile2
法術, 投射物, 玩家投射物, 可觸發
暴擊率: 5%
施放時間: 1.333 秒
冷卻時間: 2 秒
造成 48659034 物理傷害
擊中時有 50% 機率阻礙敵人
base is projectile [1]
maintain projectile direction when using contact position [1]
monster projectile variation [161]
projectile uses contact position [1]
use scaled contact offset [1]
TEMP_EASHeistGiannaTransform
法術
施放時間: 1.83 秒
EGHeistPullLever
可觸發, 法術
施放時間: 2.17 秒
skill cannot be knocked back [1]
skill cannot be stunned [1]
spell maximum action distance +% [-95]
EGHeistDeceptionTrickGuard
可觸發, 法術
施放時間: 1 秒
spell maximum action distance +% [-40]
EASHeistGiannaDisappear
法術
施放時間: 1.83 秒
EGHeistScoutDetect
可觸發, 法術
施放時間: 1.5 秒
skill cannot be knocked back [1]
skill cannot be stunned [1]
EGHeistPerceptionDiscoverHidden
可觸發, 法術
施放時間: 1 秒
冷卻時間: 1.5 秒
skill cannot be stunned [1]
HeistFindDoorArt2
[UNUSED] You son of a ****
[UNUSED I'm in
skill cannot be knocked back [1]
skill cannot be stunned [1]
HeistMindControl
引導
skill cannot be knocked back [1]
skill cannot be stunned [1]
HeistDisableMagic
[UNUSED] You son of a ****
[UNUSED I'm in
skill cannot be knocked back [1]
skill cannot be stunned [1]

Object Type

version 2
extends "Metadata/Monsters/LeagueHeist/NPCAllies/NPCAlliesBase"

BaseEvents
{
	on_construction_complete =
	"
		IfState( infiltration_monster_variety, >0,
		{
			StartStateTimer( shapeshift_infiltrate, 0.01 );
			PlayAnimationType( Idle );
		} );
	"
}

StateMachine
{
	define_shared_state =
	"
		disguised = 0;
		remove_disguise = 0;
		shapeshift_type;
		infiltration_sequence;
		infiltration_monster_variety;
	"

	on_change_state_remove_disguise = 
	"
		StartStateTimer( unshapeshift, 0.01 );
	"

	on_change_state_infiltration_monster_variety =
	"
		IfState( infiltration_monster_variety, >0,
		{
			StartStateTimer( shapeshift_infiltrate, 0.01 );
			PlayAnimationType( Idle );
		} );
	"

	on_timer_shapeshift =
	"
		TriggerStateBracket( shapeshift, shapeshift_type );
		ChangeStance( stance3 );
		PlayAnimationType( Idle );
	"

	on_timer_shapeshift_infiltrate = "ChangeAppearanceToMonsterVarietyIndex( GetState( infiltration_monster_variety ) );"

	on_timer_unshapeshift =
	"
		TriggerBracket( shapeshift, 0 );
		PlayAnimationType( Idle );
	"

	on_state_abandoned_1 =
	"
		IfState( disguised, 1, { StartStateTimer( unshapeshift, 0.01 ); } );
	"
}

Actor
{
	on_event_contact_for_EmptyActionSpell = "StartStateTimer( shapeshift, 0.01 );"
	disable_play_animation_from_set_stance = true
}

Brackets
{
	define_bracket = "shapeshift"
	shapeshift_0 = "ChangeAppearanceToMonsterVariety( Metadata/Monsters/LeagueHeist/NPCAllies/HeistIllusionist1_ );"
	shapeshift_1 = "ChangeAppearanceToMonsterVariety( Metadata/Monsters/LeagueHeist/Military/MilitaryMelee1Miniboss );"
	shapeshift_2 = "ChangeAppearanceToMonsterVariety( Metadata/Monsters/LeagueHeist/Thug/ThugMelee2Miniboss );"
	shapeshift_3 = "ChangeAppearanceToMonsterVariety( Metadata/Monsters/LeagueHeist/Science/ThaumaturgistFemaleMiniBoss );"
	shapeshift_4 = "ChangeAppearanceToMonsterVariety( Metadata/Monsters/LeagueHeist/Robot/RobotArgusMiniboss );"
	shapeshift_5 = "ChangeAppearanceToMonsterVariety( Metadata/Monsters/LeagueHeist/Science/ThaumaturgistFemaleMiniBoss );"
	shapeshift_6 = "ChangeAppearanceToMonsterVariety( Metadata/Monsters/LeagueHeist/Robot/RobotArgusMiniboss );"
	shapeshift_7 = "ChangeAppearanceToMonsterVariety( Metadata/Monsters/LeagueHeist/Thug/ThugMelee2Miniboss );"
	shapeshift_8 = "ChangeAppearanceToMonsterVariety( Metadata/Monsters/LeagueHeist/Military/MilitaryMelee1Miniboss );"
	shapeshift_9 = "ChangeAppearanceToMonsterVariety( Metadata/Monsters/LeagueHeist/Military/MilitaryMelee1Miniboss );"
}

Object Type Codes

version 2
extends "Metadata/Monsters/LeagueHeist/NPCAllies/NPCAlliesBase"

Actor
{
	on_event_contact_for_EmptyActionSpell2 =
	"
		IfState( heist_alert, <2,
		{
			DisableRendering();
			HideMinimapIcon();
		} );
	"

	on_end_or_destroy_HeistLockPick =
	"
		DetachAllOfType( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/reveal.ao );
		DetachAllOfType( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/revealR.ao );
		DetachAllOfType( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/revealL.ao );
	"

	on_start_EmptyActionSpell2 =
	"
		FaceCamera();
		PlayEffect( Metadata/Effects/Spells/monsters_effects/League_Heist/Gianna/onact_transform.ao, 0, 1.0, 0.8, 1.0, inherit );
	"

	on_event_disguise_for_EmptyActionSpell = "PlayEffect( HeistGiannaNowYouDont );"
}

StateMachine
{
	on_timer_unshapeshift = "PlayEffect( HeistGiannaNowYouSeeMe );"

	create_state_infiltration_sequence_1 =
	"
		DisableRendering();
		HideMinimapIcon();
	"

	on_exit_state_infiltration_sequence_1 =
	"
		EnableRendering();
		ShowMinimapIcon();
	"

	on_state_abandoned_1 =
	"
		EnableRendering();
		DetachAllOfType( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/reveal.ao );
	"
}

Animated
{
	on_event_add_hand_reveal_fx =
	"
		AddAttached( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/revealR.ao, jazz_hand_R );
		AddAttached( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/revealL.ao, jazz_hand_L );
	"

	on_event_loop_hand_reveal_fx =
	"
		PlayAnimationAttached( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/revealR.ao, loop );
		PlayAnimationAttached( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/revealL.ao, loop );
	"

	on_event_remove_hand_reveal_fx =
	"
		PlayAnimationAttached( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/revealR.ao, end );
		PlayAnimationAttached( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/revealL.ao, end );
		DetachAllOfType( Metadata/Effects/Spells/monsters_effects/League_Heist/Nenet/reveal.ao );
	"
}

Preload
{
	preload_animated_object = "Metadata/Effects/Spells/monsters_effects/League_Heist/Gianna/onact_transform.ao"
}
-- src\Data\Spectres.lua
minions["Metadata/Monsters/LeagueHeist/NPCAllies/HeistIllusionist1_"] = {
    name = "Gianna",
    life = 4,
    energyShield = 0.33,
    fireResist = 40,
    coldResist = 40,
    lightningResist = 40,
    chaosResist = 25,
    damage = 4,
    damageSpread = 0.2,
    attackTime = 1.755,
    attackRange = 11,
    accuracy = 1,
    skillList = {
        "MPSHeistGiannaSpellProjectile",
        "MPSHeistGiannaSpellProjectile2",
        "TEMP_EASHeistGiannaTransform",
        "HeistFindDoorArt2",
        "EGHeistScoutDetect",
        "HeistDisableMagic",
        "EGHeistPullLever",
        "HeistMindControl",
        "EGHeistDeceptionTrickGuard",
        "EASHeistGiannaDisappear",
        "EGHeistPerceptionDiscoverHidden",
    },
    modList = {
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSHeistGiannaSpellProjectile"] = {
    name = "MPSHeistGiannaSpellProjectile",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.333,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_lightning_damage",
        "spell_maximum_base_lightning_damage",
        "monster_projectile_variation",
        "base_chance_to_shock_%",
        "base_is_projectile",
        "use_scaled_contact_offset",
        "projectile_uses_contact_position",
        "maintain_projectile_direction_when_using_contact_position",
    },
    levels = {
        [1] = {0.69999998807907, 1.2999999523163, 153, 50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["MPSHeistGiannaSpellProjectile2"] = {
    name = "MPSHeistGiannaSpellProjectile2",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
        [SkillType.Projectile] = true,
        [SkillType.ProjectilesFromUser] = true,
        [SkillType.Triggerable] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.333,
    baseFlags = {
        spell = true,
        projectile = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_minimum_base_physical_damage",
        "spell_maximum_base_physical_damage",
        "monster_projectile_variation",
        "spells_chance_to_hinder_on_hit_%",
        "base_is_projectile",
        "use_scaled_contact_offset",
        "projectile_uses_contact_position",
        "maintain_projectile_direction_when_using_contact_position",
    },
    levels = {
        [1] = {0.69999998807907, 1.2999999523163, 161, 50, critChance = 5, levelRequirement = 1, statInterpolation = {3, 3},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["TEMP_EASHeistGiannaTransform"] = {
    name = "TEMP_EASHeistGiannaTransform",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.83,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HeistFindDoorArt2"] = {
    name = "[UNUSED] You son of a ****",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[UNUSED  I'm in",
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
    },
    levels = {
        [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EGHeistScoutDetect"] = {
    name = "EGHeistScoutDetect",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.5,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
    },
    levels = {
        [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HeistDisableMagic"] = {
    name = "[UNUSED] You son of a ****",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    description = "[UNUSED  I'm in",
    skillTypes = {
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
    },
    levels = {
        [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EGHeistPullLever"] = {
    name = "EGHeistPullLever",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 2.17,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_maximum_action_distance_+%",
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
    },
    levels = {
        [1] = {-95, levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["HeistMindControl"] = {
    name = "HeistMindControl",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Channel] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_cannot_be_stunned",
        "skill_cannot_be_knocked_back",
    },
    levels = {
        [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EGHeistDeceptionTrickGuard"] = {
    name = "EGHeistDeceptionTrickGuard",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "spell_maximum_action_distance_+%",
    },
    levels = {
        [1] = {-40, levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EASHeistGiannaDisappear"] = {
    name = "EASHeistGiannaDisappear",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Spell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1.83,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
    },
    levels = {
        [1] = {levelRequirement = 0, statInterpolation = {},  cost = { }, },
    },
}
-- src\Data\Skills\spectre.lua
skills["EGHeistPerceptionDiscoverHidden"] = {
    name = "EGHeistPerceptionDiscoverHidden",
    hidden = true,
    color = "4",
    baseEffectiveness = 0,
    incrementalEffectiveness = 0,
    skillTypes = {
        [SkillType.Triggerable] = true,
        [SkillType.Spell] = true,
    },
    statDescriptionScope = "skill_stat_descriptions",
    castTime = 1,
    baseFlags = {
        spell = true,
    },
    baseMods = {
    },
    qualityStats = {
    },
    stats = {
        "skill_cannot_be_stunned",
    },
    levels = {
        [1] = {levelRequirement = 1, statInterpolation = {},  cost = { }, },
    },
}
每秒回復 2% 生命
IdHeistNPCLifeRegen
FamilyLifeRegenerationRatePercentage
Domains怪物 (3)
GenerationType傳奇 (3)
Req. level1
Stats
  • life regeneration rate per minute % Min: 120 Max: 120 全域
  • Craft Tagsresource life