| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- using GadgetCore.API;
- using System.Collections;
- using System.Reflection;
- using UnityEngine;
- namespace UltimateNPCWeapons.Infos
- {
- public class WallacesFealtyItemInfo : ItemInfo
- {
- public WallacesFealtyItemInfo(ItemType Type, string Name, string Desc, Texture Tex, int Value = -1, EquipStats Stats = default, Texture HeldTex = null, Texture HeadTex = null, Texture BodyTex = null, Texture ArmTex = null)
- : base(Type, Name, Desc, Tex, Value, Stats, HeldTex, HeadTex, BodyTex, ArmTex)
- {
- }
- public WallacesFealtyItemInfo(ItemType Type, string Name, string Desc, Material Mat, int Value = -1, EquipStats Stats = default, Material HeldMat = null, Material HeadMat = null, Material BodyMat = null, Material ArmMat = null)
- : base(Type, Name, Desc, Mat, Value, Stats, HeldMat, HeadMat, BodyMat, ArmMat)
- {
- }
- private static readonly FieldInfo canAttack = typeof(PlayerScript).GetField("canAttack", BindingFlags.NonPublic | BindingFlags.Instance);
- private static readonly FieldInfo attacking = typeof(PlayerScript).GetField("attacking", BindingFlags.NonPublic | BindingFlags.Instance);
- private static readonly FieldInfo t = typeof(PlayerScript).GetField("t", BindingFlags.NonPublic | BindingFlags.Instance);
- private static readonly FieldInfo r = typeof(PlayerScript).GetField("r", BindingFlags.NonPublic | BindingFlags.Instance);
- public IEnumerator Attack(PlayerScript script)
- {
- canAttack.SetValue(script, false);
- attacking.SetValue(script, true);
- //script.StartCoroutine(script.ATKSOUND());
- //script.GetComponent<AudioSource>().PlayOneShot((AudioClip)Resources.Load("Au/excal"), Menuu.soundLevel / 10f);
- if (PlayerScript.grounded)
- {
- if (Camera.main.ScreenToWorldPoint(Input.mousePosition).x > ((Transform)t.GetValue(script)).position.x)
- {
- ((Rigidbody)r.GetValue(script)).velocity = new Vector3(((Rigidbody)r.GetValue(script)).velocity.x + 20f, ((Rigidbody)r.GetValue(script)).velocity.y + 5f, 0f);
- }
- else
- {
- ((Rigidbody)r.GetValue(script)).velocity = new Vector3(((Rigidbody)r.GetValue(script)).velocity.x - 20f, ((Rigidbody)r.GetValue(script)).velocity.y + 5f, 0f);
- }
- }
- script.Animate(5);
- yield return new WaitForSeconds(0.3f);
- script.attackCube3.SetActive(true);
- if (PlayerScript.inmagemash > 0)
- {
- script.MageMash();
- }
- yield return new WaitForSeconds(0.2f);
- script.attackCube3.SetActive(false);
- attacking.SetValue(script, false);
- yield return new WaitForSeconds(0.1f);
- canAttack.SetValue(script, true);
- yield break;
- }
- }
- }
|