internal void LoadSkills(Player player) { if (skillTypes.Count == 0) { return; } Logger.Log($"Loading {skillTypes.Count} skill type(s) for player {player.playerID + 1}\n"); foreach (Type skillType in skillTypes) { Logger.Log($"Loading skill {skillType.FullName} for player {player.playerID + 1}"); try { Player.SkillState skill = (Player.SkillState)Activator.CreateInstance(skillType, player.fsm, player); Sprite sprite = LoadSkillSprite(skill); ModManager.AddModSkill(skill, sprite); player.fsm.AddState(skill); } catch (Exception ex) { Externs.MessageBox("Error!", ex.ToString()); } } Logger.Log(""); }
public static string GetForehandAnimStr(Player.SkillState skill) { PlayForehandAnim.SetValue(skill.parent, false); ForehandAnimPlayed.SetValue(skill.parent, true); return("Forehand" + skill.parent.facingDirection.ToString()); }
public static void OnSetSkillData(Player.SkillState skill) { if (Lizard.IsInterface <IModSkill>(skill)) { skill.skillID = Lizard.GetID(skill); skill.name = skill.skillID; ModManager.LoadModSkillStatData(skill.parent, (IModSkill)skill); } }
// private void HandleHealthDegen() static void RegisterSkill( Player.SkillState __instance ) { UnityEngine.Debug.Log("Player.SkillState RegisterSkill : " + __instance.skillID); /* * __instance.parent.skillsDict[__instance.skillID] = __instance; * __instance.parent.cooldownManager.Add(__instance.skillID, __instance.skillData.GetValue<float>("cooldown", __instance.currentLevel), __instance.skillData, __instance); * __instance.cooldownRef = __instance.parent.cooldownManager.cooldowns[__instance.skillID]; */ }
internal static void AddModSkill(Player.SkillState skill, UnityEngine.Sprite sprite) { IModSkill modSkill = (IModSkill)skill; ModSkills.Add(skill.skillID, modSkill); ModSkillImages.Add(skill.skillID, sprite); foreach (int tier in modSkill.Tiers) { LootManager.skillTierDict[tier].Add(skill.skillID); } UpdateModDescription(skill.skillID, modSkill); }
// public void InitChargeSkillSettings(int maxCharges, float delayBetweenCharges, StatData statData, Player.SkillState skillState) static bool InitChargeSkillSettings( Player.SkillState __instance //,bool __result , int maxCharges , float delayBetweenCharges , StatData statData , Player.SkillState skillState ) { UnityEngine.Debug.Log("Player.SkillState InitChargeSkillSettings : " + maxCharges); UnityEngine.Debug.Log("Player.SkillState InitChargeSkillSettings : " + delayBetweenCharges); //__result = true; return(true); return(false); }
public static T CreateProjectile <T>(Player.SkillState skill, bool setAttackInfo = true) where T : Projectile { try { GameObject projGO = new GameObject(typeof(T).FullName); Transform projTr = projGO.transform; Transform ownerTr = skill.parent.transform; projTr.position = ownerTr.position; projTr.rotation = ownerTr.rotation; T proj = projGO.AddComponent <T>(); proj.destroyOnDisable = true; proj.pointTowardMoveVector = true; if (proj.impactAudioID == null) { proj.impactAudioID = ""; } if (proj.particleEffectName == null) { proj.particleEffectName = ""; } proj.parentObject = skill.parent.gameObject; proj.parentEntity = skill.parent; if (setAttackInfo) { proj.attackBox.SetAttackInfo(skill.parent.skillCategory, skill.skillID); proj.UpdateCalculatedDamage(true); } return(proj); } catch (System.Exception ex) { Externs.MessageBox("Error!", ex.ToString()); } return(null); }
//public Cooldown(string givenID, float givenMaxTime, StatData givenData = null, Player.SkillState givenSkill = null) static void CooldownCtor(Cooldown __instance, string givenID, ref float givenMaxTime, StatData givenData = null, Player.SkillState givenSkill = null) { UnityEngine.Debug.Log("Cooldown CooldownCtor : " + givenID); UnityEngine.Debug.Log("Cooldown CooldownCtor : " + givenMaxTime); givenMaxTime = 0f; }
private static Sprite LoadSkillSprite(Player.SkillState skill) { IModSkill modSkill = (IModSkill)skill; return(LoadObjectSprite(skill, skill.skillID, "Skill", modSkill.SkillImage)); }