diff --git a/src/br/com/darksun/control/CombateController.java b/src/br/com/darksun/control/CombateController.java index 7cb970d..d57c6fa 100644 --- a/src/br/com/darksun/control/CombateController.java +++ b/src/br/com/darksun/control/CombateController.java @@ -150,6 +150,17 @@ public void ativaCondicao( ) System.out.println( personagem + " recebeu " + condicao.getValor( ) + " a menos no HP Total pela condição " + condicao.getEfeito( ).getNome( ) ); } + } else + { + if ( efeito.getIsPositivo( ) ) + { + System.out.println( personagem + " recebeu " + condicao.getValor( ) + + " a mais no atributo da condição " + condicao.getEfeito( ).getNome( ) ); + } else + { + System.out.println( personagem + " recebeu " + condicao.getValor( ) + + " a menos no atributo da condição " + condicao.getEfeito( ).getNome( ) ); + } } } diff --git a/src/br/com/darksun/gui/characterbuilder/JPFormularioEfeito.java b/src/br/com/darksun/gui/characterbuilder/JPFormularioEfeito.java index d951842..bcb3053 100644 --- a/src/br/com/darksun/gui/characterbuilder/JPFormularioEfeito.java +++ b/src/br/com/darksun/gui/characterbuilder/JPFormularioEfeito.java @@ -26,7 +26,7 @@ public class JPFormularioEfeito extends JPPadrao private String[ ] booleano = { "Sim", "Não" }; private String[ ] atributos = - { "CA", "HP Atual", "HP Maximo" }; + { "CA", "HP Atual", "HP Maximo", "Outro" }; public JPFormularioEfeito( JFPrincipal frame, Boolean isPJ, String newID, Efeito efeito ) { @@ -121,6 +121,9 @@ public JPFormularioEfeito( JFPrincipal frame, Boolean isPJ, String newID, Efeito } else if ( atributoAfetado.equals( "HP Maximo" ) ) { ComboBoxAtributoAfetado.setSelectedIndex( 2 ); + } else if ( atributoAfetado.equals( "Outro" ) ) + { + ComboBoxAtributoAfetado.setSelectedIndex( 3 ); } ComboBoxIsContinuo.setSelectedIndex( efeito.getIsContinuo( ) ? 0 : 1 ); @@ -190,6 +193,9 @@ else if ( !isInteger( fieldDuracaoPadrao.getText( ).toString( ) ) ) case 2: atributoAfetado = "HP Maximo"; break; + case 3: + atributoAfetado = "Outro"; + break; } EfeitoController ec = new EfeitoController( ); diff --git a/src/br/com/darksun/test/CombateControllerTest.java b/src/br/com/darksun/test/CombateControllerTest.java index 51acb94..180ec64 100644 --- a/src/br/com/darksun/test/CombateControllerTest.java +++ b/src/br/com/darksun/test/CombateControllerTest.java @@ -263,4 +263,25 @@ void testUltimaAtivaCondicaoNaoContinua( ) Integer contagem = posEfeito - fimEfeito; Assert.assertEquals( valor.toString( ), contagem.toString( ) ); } + + @Test + void testAtributoOutroAtivaCondicao( ) + { + Personagem personagem = controller.getModel( ).getPersonagem( 0 ); + Efeito velocidade = new Efeito( 3, null, "Velocidade", 3, true, "Outro", false ); + Integer[] atributosIniciais = { personagem.getHpAtual( ), personagem.getHpMaximo( ), personagem.getCa( ) }; + controller.ativaCondicao( ); + controller.ativaCondicao( ); + controller.ativaCondicao( ); + Integer[] atributosFinais = { personagem.getHpAtual( ), personagem.getHpMaximo( ), personagem.getCa( ) }; + Boolean atributosAfetados = false; + for ( int i = 0; i < atributosIniciais.length; i++ ) + { + if( atributosIniciais[i] != atributosFinais[i] ) + { + atributosAfetados = true; + } + } + Assert.assertEquals( false, atributosAfetados ); + } }