public AtaqueInformacion(PerfilAtaque perfil, float ataquebasico, Entidad entidad, Entidad entidadatacada) { this.perfil = perfil; this.ataquebasico = ataquebasico; this.entidad = entidad; this.entidadatacada = entidadatacada; }
public float GetAtaqueBasico(PerfilAtaque perfil = null) { float a = GetAtaqueBasicoBase() + ataqueheredado * GetAtaqueBasicoHerencia(); if (perfil != null) { a *= perfil.GetAtaqueBasico(); } return(a); }
private void EventoColision(ColisionInformacion info) { if (!IsEnable()) { return; } Entidad entidad = info.GetEntidadImpacto(); if (entidad == null || info.GetColisionEstado() != ColisionEstado.ENTER) { return; } ModuloVitalidad vitalidad = entidad.GetModuloVitalidad(); if (vitalidad == null) { return; } PerfilAtaque perfil = GetPerfil(info.GetColision()); if (perfil == null) { return; } switch (perfil.GetObjetivo()) { case AtaqueObjetivo.ALIADO: if (entidad.GetTipo() == EntidadTipo.ALIADO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaqueBasico(perfil), GetEntidad(), entidad )); vitalidad.AddDaño(GetAtaqueBasico(perfil), entidad, info.GetColisionImpacto()); } break; case AtaqueObjetivo.ENEMIGO: if (entidad.GetTipo() == EntidadTipo.ENEMIGO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaqueBasico(perfil), GetEntidad(), entidad )); vitalidad.AddDaño(GetAtaqueBasico(perfil), entidad, info.GetColisionImpacto()); } break; case AtaqueObjetivo.AMBOS: if (entidad.GetTipo() != EntidadTipo.DESCONOCIDO) { SolicitarEvento(new AtaqueInformacion( perfil, GetAtaqueBasico(perfil), GetEntidad(), entidad )); vitalidad.AddDaño(GetAtaqueBasico(perfil), entidad, info.GetColisionImpacto()); } break; } }