Files
test/Assets/PerfectWorld/Scripts/Skills/skill95.cs
T
2025-12-12 18:06:48 +07:00

140 lines
4.1 KiB
C#
Raw 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 System.Collections.Generic;
using System.Text;
using UnityEngine;
using static BrewMonster.PET_EVOLVE_CONFIG;
namespace BrewMonster
{
#if SKILL_SERVER
public class Skill95 : Skill
{
public const int SKILL_ID = 95;
public Skill95() : base(SKILL_ID)
{
}
}
#endif
public class Skill95Stub : SkillStub
{
#if SKILL_SERVER
public class State1 : SkillStub.State
{
public int GetTime(Skill skill) => 1000;
public bool Quit(Skill skill) => false;
public bool Loop(Skill skill) => false;
public bool Bypass(Skill skill) => false;
public void Calculate(Skill skill)
{
skill.GetPlayer().SetDecmp(0.2f *(50 + 3 * skill.GetLevel()));
skill.GetPlayer().SetPray(1);
}
public bool Interrupt(Skill skill) => false;
public bool Cancel(Skill skill) => true;
public bool Skip(Skill skill) => false;
}
#endif
#if SKILL_SERVER
public class State2 : SkillStub.State
{
public int GetTime(Skill skill) => 2000;
public bool Quit(Skill skill) => false;
public bool Loop(Skill skill) => false;
public bool Bypass(Skill skill) => false;
public void Calculate(Skill skill)
{
skill.GetPlayer().SetPerform(1);
}
public bool Interrupt(Skill skill) => false;
public bool Cancel(Skill skill) => false;
public bool Skip(Skill skill) => false;
}
#endif
#if SKILL_SERVER
public class State3 : SkillStub.State
{
public int GetTime(Skill skill) => 0;
public bool Quit(Skill skill) => false;
public bool Loop(Skill skill) => false;
public bool Bypass(Skill skill) => false;
public void Calculate(Skill skill)
{
}
public bool Interrupt(Skill skill) => false;
public bool Cancel(Skill skill) => false;
public bool Skip(Skill skill) => false;
}
#endif
public Skill95Stub() : base(95)
{
cls = 1;
name = "";
nativename = "";
icon = "水煞.dds";
max_level = 10;
type = 1;
apcost = 0;
arrowcost = 0;
apgain = 0;
attr = 1;
rank = 3;
eventflag = 0;
posdouble = 0;
clslimit = 0;
time_type = 0;
showorder = 69;
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 = "水煞.sgc";
doenchant = 0;
dobless = 0;
commoncooldown = 0;
commoncooldowntime = 0;
restrict_weapons.Add(0);
restrict_weapons.Add(292);
range = new Range();
range.type = 3;
pre_skills = new Dictionary<uint, int>();
pre_skills.Add(94, 1);
#if SKILL_SERVER
statestub.Add(new State1());
statestub.Add(new State2());
statestub.Add(new State3());
#endif
}
~Skill95Stub() { }
public float GetMpcost(Skill skill) => (float)(50 + 3 * skill.GetLevel());
public int GetExecutetime(Skill skill) => 2000;
public int GetCoolingtime(Skill skill) => 10000;
public float GetRadius(Skill skill) => (float)(9 + 0.4 * skill.GetLevel());
public float GetAttackdistance(Skill skill) => 0f;
public float GetAngle(Skill skill) => (float)(1 - 0.0111111 * 0);
public float GetPraydistance(Skill skill) => (float)(18 + 0.5 * skill.GetLevel());
#if SKILL_SERVER
public int GetEnmity(Skill skill) => 0;
public bool TakeEffect(Skill skill) => true;
public float GetEffectdistance(Skill skill) => 50f;
public float GetHitrate(Skill skill) => 1.0f;
#endif
}
}