Example #1
0
        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("");
        }
Example #2
0
        public static string GetForehandAnimStr(Player.SkillState skill)
        {
            PlayForehandAnim.SetValue(skill.parent, false);
            ForehandAnimPlayed.SetValue(skill.parent, true);

            return("Forehand" + skill.parent.facingDirection.ToString());
        }
Example #3
0
        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);
            }
        }
Example #4
0
        // 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];
             */
        }
Example #5
0
        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);
        }
Example #6
0
        // 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);
        }
Example #7
0
        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);
        }
Example #8
0
 //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;
 }
Example #9
0
        private static Sprite LoadSkillSprite(Player.SkillState skill)
        {
            IModSkill modSkill = (IModSkill)skill;

            return(LoadObjectSprite(skill, skill.skillID, "Skill", modSkill.SkillImage));
        }