Files
2026-04-10 16:35:07 +07:00

132 lines
4.7 KiB
C#
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#define SKILL_CLIENT
using BrewMonster.Scripts.Skills;
using CSNetwork.GPDataType;
using System.Collections.Generic;
using System.Text;
using UnityEngine;
using static BrewMonster.PET_EVOLVE_CONFIG;
namespace BrewMonster
{
#if SKILL_SERVER
public class Skill110 : Skill
{
public const int SKILL_ID = 110;
public Skill110() : base(SKILL_ID)
{
}
}
#endif
public class Skill110Stub : SkillStub
{
private static readonly int[] RequiredLevelArray = { 55, 55, 55, 60, 60, 60, 65, 65, 65, 65 };
private static readonly int[] RequiredSpArray = { 20000, 20000, 20000, 30000, 30000, 30000, 40000, 40000, 40000, 40000 };
private static readonly int[] RequiredItemArray = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
private static readonly int[] RequiredMoneyArray = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
public Skill110Stub() : base(110)
{
cls = 4;
name = "";
nativename = "";
icon = "飞天神斧";
max_level = 10;
type = 1;
apcost = 0;
arrowcost = 0;
apgain = 0;
attr = 0;
rank = 3;
eventflag = 0;
time_type = 0;
showorder = 140;
allow_land = true;
allow_air = true;
allow_water = true;
allow_ride = false;
auto_attack = false;
long_range = 0;
restrict_corpse = 0;
allow_forms = 1;
effect = "飞天神斧";
doenchant = 0;
dobless = 0;
commoncooldown = 0;
commoncooldowntime = 0;
m_szFlyGfxPath = "策划联入/人物技能/飞行/飞天神斧飞行.gfx";
m_szHitGrndGfxPath = string.Empty;
m_szHitGfxPath = "策划联入/人物技能/击中/飞天神斧击中.gfx";
m_szFlySfxPath = string.Empty;
m_szHitGrndSfxPath = string.Empty;
m_szHitSfxPath = string.Empty;
// GFX Movement and Behavior Parameters / GFX移动和行为参数
m_MoveMode = (GfxMoveMode)0;
m_TargetMode = (GfxTargetMode)0;
m_AttFlyMode = (GfxAttackMode)0;
m_AttHitMode = (GfxAttackMode)0;
m_dwFlyTime = 1000;
m_bTraceTarget = false;
m_FlyClusterCount = 1;
m_FlyClusterInterval = 0;
m_HitClusterCount = 1;
m_HitClusterInterval = 0;
m_bOneHit = true;
m_bFadeOut = false;
m_bRelScl = true;
m_fDefTarScl = 1.8f;
// Area parameters (commented out) / 区域参数(已注释)
// m_bArea = false;
// m_Shape = (EmitShape)0;
// m_vSize = new Vector3(0.0f, 0.0f, 0.0f);
// Param (commented out) / 参数(已注释)
// m_paramType = (GfxSkillValType)1;
// m_param = new GFX_SKILL_PARAM();
// m_param.nVal = 0;
restrict_weapons.Add(9);
range = new Range();
range.type = 0;
pre_skills = new Dictionary<uint, int>();
pre_skills.Add(109, 1);
}
~Skill110Stub() { }
public override float GetMpcost(Skill skill) => (float)(25 + skill.GetLevel());
public override int GetExecutetime(Skill skill) => 1500;
public override int GetCoolingtime(Skill skill) => 8000;
public float GetRadius(Skill skill) => 0f;
public float GetAttackdistance(Skill skill) => 0f;
public float GetAngle(Skill skill) => (float)(1 - 0.0111111 *(20 + 2.5 * skill.GetLevel()));
public override float GetPraydistance(Skill skill) => (float)(skill.GetPlayer().GetRange() + 4 + 0.3 * skill.GetLevel());
public override int GetRequiredLevel(Skill skill) => RequiredLevelArray[skill.GetLevel() - 1];
public override int GetRequiredSp(Skill skill) => RequiredSpArray[skill.GetLevel() - 1];
public override int GetRequiredItem(Skill skill) => RequiredItemArray[skill.GetLevel() - 1];
public override int GetRequiredMoney(Skill skill) => RequiredMoneyArray[skill.GetLevel() - 1];
#if SKILL_CLIENT
public override int GetIntroduction(Skill skill, StringBuilder buffer, string format)
{
buffer.Append(GPDataTypeHelper.FormatSkillIntroduction(format));
return buffer.Length;
}
#endif
#if SKILL_SERVER
public int GetEnmity(Skill skill) => 0;
public bool TakeEffect(Skill skill) => true;
public float GetEffectdistance(Skill skill) => 30f;
public int GetAttackspeed(Skill skill) => 0;
public float GetHitrate(Skill skill) => 1.0f;
#endif
}
}