void updateArrowType() { if (toy.rune.runetype == RuneType.Sensible && toy.rune.get(EffectType.Diffuse) > 0) { current_arrow_name = new ArrowName(ArrowType.Diffuse); } else if (toy.rune.runetype == RuneType.Vexing && toy.rune.get(EffectType.Focus) > 0) { current_arrow_name = new ArrowName(ArrowType.Focus); } else if (toy.rune.runetype == RuneType.Vexing && toy.rune.get(EffectType.RapidFire) > 0) { current_arrow_name = new ArrowName(ArrowType.RapidFire); } else if (toy.rune.runetype == RuneType.Vexing && toy.rune.get(EffectType.Critical) > 0) { current_arrow_name = new ArrowName(ArrowType.Critical); } else { current_arrow_name = new ArrowName(default_arrow_type); } return; }
public static Arrow MakeArrow(ArrowName type, Vector3 origin, Vector3 arrow_target, StatSum arrow_stats, float speed, Firearm _firearm, bool play_sound) { Arrow a = _MakeArrow(type, origin, arrow_stats, speed, _firearm, play_sound); a.InitArrow(arrow_stats, arrow_target, speed, _firearm); return(a); }
void InitColors() { arrow_name = new ArrowName(ArrowType.Sparkle); float a = 0.66f; float b = 0.33f; colors = new Color[7]; int i = 0; colors[i++] = Color.white; colors[i] = Color.red * a + Color.white * b; colors[i++].a = 1f; colors[i] = Color.blue * a + Color.white * b; colors[i++].a = 1f; colors[i] = Color.cyan * a + Color.white * b; colors[i++].a = 1f; colors[i] = Color.yellow * a + Color.white * b; colors[i++].a = 1f; colors[i] = Color.green * a + Color.white * b; colors[i++].a = 1f; colors[i] = Color.magenta * a + Color.white * b; colors[i++].a = 1f; }
private static Arrow _MakeArrow(ArrowName type, Vector3 origin, StatSum arrow_stats, float speed, Firearm _firearm, bool play_sound) { GameObject newMissile = Peripheral.Instance.zoo.getObject(type.name, false); // Debug.Log("Making arrow " + arrow_name + "\n"); origin.z = 0f; newMissile.transform.position = origin; newMissile.transform.SetParent(Peripheral.Instance.arrows_transform); newMissile.tag = "PlayerArrow"; Arrow arrow = newMissile.GetComponent <Arrow>(); arrow.arrow_type = type.type; if (play_sound && Noisemaker.Instance != null) { Noisemaker.Instance.Play("arrow_fired"); } return(arrow); }