fuse method
Fuses two Personas together.
Implementation
Persona? fuse(Persona persona1, Persona persona2) {
Persona? persona;
if ((persona1.rare && persona2.rare) || persona1 == persona2) return null;
persona = _getSpecialFuse(persona1, persona2);
if (persona != null) {
return persona;
}
if ((persona1.rare && !persona2.rare) ||
(!persona1.rare && persona2.rare)) {
final Persona rarePersona = persona1.rare ? persona1 : persona2;
final Persona normalPersona = persona1.rare ? persona2 : persona1;
persona = _getRareFuse(rarePersona, normalPersona);
return persona;
}
return _normalFuse(persona1, persona2);
}