public void equip(equipment new_equip) { change_equip_limit(new_equip, 1); bool did_equip = false; for (int i = 0; i < equipped.Length; i++) { if (!did_equip && equipped[i] == null) { equipped[i] = new_equip; new_equip.on_equip(); if (new_equip.perks.Count > 0) { for (int j = 0; j < new_equip.perks.Count; j++) { new_equip.perks[j].add_perk(); } } did_equip = true; //Debug.Log("Equipped " + new_equip.name + " to slot " + i.ToString()); } } if (!did_equip) { equip(new_equip, 0); } util_ref.events.trigger_event("equip", attached_character.get_character()); }