I am amazed at how complex people make this.
let A = unloaded.
let B = rendered inoperable
therefore, legal = A & B; (meaning A AND B)
or,
legal = !(!A | !B); (meaning not (not A OR not B)
so if you are not ( not unloading your firearm OR not rendering your firearm inoperable) then,
you are legal.
However, if you are (not unloading your firearm OR not rendering your firearm inoperable) then,
you are illegal.
Therefore,
if you are (unloading your firearm AND rendering your firearm inoperable) then,
you are legal if and only if your firearm is out of sight. (let C = out of sight).
So,
if A and B and C are true, then legal.
Furthermore,
if not (A OR B OR C) you are illegal.
In addition, let D = parents wishes and rules of the house;
if (A AND B AND C AND D) then you are both legal and ethical.
However, if (A AND B AND C AND NOT D) you are not ethical but legal with the chance that NOT D will make you homeless.
Therefore,
Sell the firearms or move out.
Edit:
A truth table may be required
A | B | C | D
0 0 0 0 = illegal, unethical
0 0 0 1 = illegal, ethical
0 0 1 0 = illegal, unethical
0 0 1 1 = illegal, ethical
0 1 0 0 = illegal, unethical
0 1 0 1 = illegal, ethical
0 1 1 0 = illegal, unethical
0 1 1 1 = illegal, ethical
1 0 0 0 = illegal, unethical
1 0 0 1 = illegal, ethical
1 0 1 0 = illegal, unethical
1 0 1 1 = illegal, ethical
1 1 0 0 = illegal, unethical
1 1 0 1 = illegal, ethical
1 1 1 0 = legal, unethical
1 1 1 1 = BINGO. YOU GOT IT RIGHT.