mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-16 18:58:00 +00:00
Merge branch 'master' of https://git.cardforge.org/core-developers/forge
This commit is contained in:
@@ -1,7 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -231,3 +231,6 @@ forge-gui/tools/oracleScript.log
|
||||
/release.properties
|
||||
/target
|
||||
/test-output
|
||||
.settings
|
||||
.classpath
|
||||
.project
|
||||
12
.project
12
.project
@@ -1,12 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,7 +0,0 @@
|
||||
add_header=true
|
||||
add_todo=false
|
||||
eclipse.preferences.version=1
|
||||
header_text=/*\n * Forge\: Play Magic\: the Gathering.\n * Copyright (C) 2011 Forge Team\n *\n * This program is free software\: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n * \n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n * \n * You should have received a copy of the GNU General Public License\n * along with this program. If not, see <http\://www.gnu.org/licenses/>.\n */
|
||||
project_specific_settings=true
|
||||
replacements=<?xml version\="1.0" standalone\="yes"?>\n\n<replacements>\n<replacement key\="get" scope\="1" mode\="0">Gets the</replacement>\n<replacement key\="set" scope\="1" mode\="0">Sets the</replacement>\n<replacement key\="add" scope\="1" mode\="0">Adds the</replacement>\n<replacement key\="edit" scope\="1" mode\="0">Edits the</replacement>\n<replacement key\="remove" scope\="1" mode\="0">Removes the</replacement>\n<replacement key\="init" scope\="1" mode\="0">Inits the</replacement>\n<replacement key\="parse" scope\="1" mode\="0">Parses the</replacement>\n<replacement key\="create" scope\="1" mode\="0">Creates the</replacement>\n<replacement key\="build" scope\="1" mode\="0">Builds the</replacement>\n<replacement key\="is" scope\="1" mode\="0">Checks if is</replacement>\n<replacement key\="print" scope\="1" mode\="0">Prints the</replacement>\n<replacement key\="has" scope\="1" mode\="0">Checks for</replacement>\n</replacements>\n\n
|
||||
visibility_private=false
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -1,284 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
|
||||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
|
||||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
|
||||
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
|
||||
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
|
||||
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
|
||||
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
|
||||
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
|
||||
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
|
||||
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
|
||||
org.eclipse.jdt.core.formatter.blank_lines_before_field=0
|
||||
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
|
||||
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
|
||||
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
|
||||
org.eclipse.jdt.core.formatter.blank_lines_before_method=1
|
||||
org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
|
||||
org.eclipse.jdt.core.formatter.blank_lines_before_package=0
|
||||
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
|
||||
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
|
||||
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
|
||||
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
|
||||
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
|
||||
org.eclipse.jdt.core.formatter.comment.format_block_comments=true
|
||||
org.eclipse.jdt.core.formatter.comment.format_header=false
|
||||
org.eclipse.jdt.core.formatter.comment.format_html=true
|
||||
org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
|
||||
org.eclipse.jdt.core.formatter.comment.format_line_comments=true
|
||||
org.eclipse.jdt.core.formatter.comment.format_source_code=true
|
||||
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
|
||||
org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
|
||||
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
|
||||
org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
|
||||
org.eclipse.jdt.core.formatter.comment.line_length=80
|
||||
org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
|
||||
org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
|
||||
org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
|
||||
org.eclipse.jdt.core.formatter.compact_else_if=true
|
||||
org.eclipse.jdt.core.formatter.continuation_indentation=2
|
||||
org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
|
||||
org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
|
||||
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
|
||||
org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
|
||||
org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
|
||||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
|
||||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
|
||||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
|
||||
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
|
||||
org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
|
||||
org.eclipse.jdt.core.formatter.indent_empty_lines=false
|
||||
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
|
||||
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
|
||||
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
|
||||
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
|
||||
org.eclipse.jdt.core.formatter.indentation.size=4
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
|
||||
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
|
||||
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
|
||||
org.eclipse.jdt.core.formatter.join_lines_in_comments=true
|
||||
org.eclipse.jdt.core.formatter.join_wrapped_lines=true
|
||||
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
|
||||
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
|
||||
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
|
||||
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
|
||||
org.eclipse.jdt.core.formatter.lineSplit=120
|
||||
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
|
||||
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
|
||||
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
|
||||
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
|
||||
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
|
||||
org.eclipse.jdt.core.formatter.tabulation.char=space
|
||||
org.eclipse.jdt.core.formatter.tabulation.size=4
|
||||
org.eclipse.jdt.core.formatter.use_on_off_tags=false
|
||||
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=true
|
||||
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
|
||||
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
|
||||
File diff suppressed because one or more lines are too long
@@ -1,4 +0,0 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
126
README.md
126
README.md
@@ -9,7 +9,9 @@ Discord channel [here](https://discordapp.com/channels/267367946135928833/267742
|
||||
# Requirements / Tools
|
||||
|
||||
- Java IDE such as IntelliJ or Eclipse
|
||||
- Java JDK 8 or later
|
||||
- Git
|
||||
- Git client (optional)
|
||||
- Maven
|
||||
- Gitlab account
|
||||
- Libgdx (optional: familiarity with this library is helpful for mobile platform development)
|
||||
@@ -26,44 +28,130 @@ Discord channel [here](https://discordapp.com/channels/267367946135928833/267742
|
||||
|
||||
# Eclipse
|
||||
|
||||
Eclipse includes Maven integration so a separate install is not necessary. For other IDEs, your mileage may vary.
|
||||
|
||||
## Project Setup
|
||||
|
||||
- Follow the instructions for cloning from Gitlab. You'll need a Gitlab account setup and an SSH key defined. If you are on a
|
||||
Windows machine you can use Putty with TortoiseGit. Run puttygen.exe to generate the key -- save the private key and export
|
||||
- Follow the instructions for cloning from Gitlab. You'll need a Gitlab account setup and an SSH key defined.
|
||||
|
||||
If you are on a Windows machine you can use Putty with TortoiseGit for SSH keys. Run puttygen.exe to generate the key -- save the private key and export
|
||||
the OpenSSH public key. If you just leave the dialog open, you can copy and paste the key from it to your Gitlab profile under
|
||||
"SSH keys".
|
||||
|
||||
Run pageant.exe and add the private key generated earlier. TortoiseGit will use this for accessing Gitlab.
|
||||
"SSH keys". Run pageant.exe and add the private key generated earlier. TortoiseGit will use this for accessing Gitlab.
|
||||
|
||||
- Fork the Forge git repo to your Gitlab account.
|
||||
|
||||
- Clone your forked repo to your local machine.
|
||||
|
||||
- Make sure the Java SDK is installed -- not just the JRE. Java 8 or newer required. At the time of this writing, JDK 11 works as expected.
|
||||
- Make sure the Java SDK is installed -- not just the JRE. Java 8 or newer required. If you execute `java -version` at the shell or command prompt, it should report version 1.8 or later.
|
||||
|
||||
- You need maven to load in dependencies and build. Obtain that [from here](https://maven.apache.org/download.cgi). Execute the following from the root repo dir to download dependencies, etc:
|
||||
- Install Eclipse 2018-12 or later for Java. Launch it.
|
||||
|
||||
`mvn -U -B clean -P windows-linux install`
|
||||
|
||||
For the desktop, this will create a populated directory at `forge-gui-desktop/target/forge-gui-desktop-<release-name>` containing typical release files such as the jar, Windows executable, resource files, etc.
|
||||
|
||||
- Install Eclipse for Java. Launch it. At the time of this writing, Eclipse 2018-12 works as expected. YMMV for other versions.
|
||||
|
||||
- Create a workspace. Go to the workbench. Right-click inside of Package Explorer > Import... > General > Existing Projects into Workspace > Navigate to local forge repo >
|
||||
Check "Search for nested projects" > Uncheck 'forge', check the rest > Finish.
|
||||
- Create a workspace. Go to the workbench. Right-click inside of Package Explorer > Import... > Maven > Existing Maven Projects > Navigate to root path of the local forge repo and
|
||||
ensure everything is checked > Finish.
|
||||
|
||||
- Let Eclipse run through building the project.
|
||||
- Let Eclipse run through building the project. You may be prompted for resolving any missing Maven plugins -- accept the ones offered. You may see errors appear in the "Problems" tab. These should
|
||||
be automatically resolved as plug-ins are installed and Eclipse continues the build process. If this is the first time for some plug-in installs, Eclipse may prompt you to restart. Do so. Be patient
|
||||
for this first time through.
|
||||
|
||||
- Once everything builds, all errors should disappear. You can now advance to Project launch.
|
||||
|
||||
## Project Launch
|
||||
|
||||
### Desktop
|
||||
|
||||
- Right-click on forge-gui-desktop > Run As... > Java Application > "Main - forge.view" > Proceed
|
||||
This is the standard configuration used for releasing to Windows / Linux / MacOS.
|
||||
|
||||
- Right-click on forge-gui-desktop > Run As... > Java Application > "Main - forge.view" > Ok
|
||||
|
||||
- The familiar Forge splash screen, etc. should appear. Enjoy!
|
||||
|
||||
### Mobile (Desktop dev)
|
||||
|
||||
- Right-click on forge-gui-mobile-dev > Run As... > Java Application > "Main - forge.app" > Proceed
|
||||
|
||||
This is the configuration used for doing mobile development using the Windows / Linux / MacOS front-end. Knowledge of libgdx is helpful here.
|
||||
|
||||
- Right-click on forge-gui-mobile-dev > Run As... > Java Application > "Main - forge.app" > Ok.
|
||||
|
||||
- A view similar to a mobile phone should appear. Enjoy!
|
||||
|
||||
## Eclipse / Android SDK Integration
|
||||
|
||||
Google no longer supports Android SDK releases for Eclipse. That said, it is still possible to build and debug Android platforms.
|
||||
|
||||
### Android SDK
|
||||
|
||||
Reference SO for obtaining a specific release: https://stackoverflow.com/questions/27043522/where-can-i-download-an-older-version-of-the-android-sdk
|
||||
|
||||
#### Windows
|
||||
|
||||
Download the following archived version of the Android SDK: http://dl-ssl.google.com/android/repository/tools_r25.2.3-windows.zip. Install it somewhere on your machine. This is referenced
|
||||
in the following instructions as your 'Android SDK Install' path.
|
||||
|
||||
#### Linux / Mac OSX
|
||||
|
||||
TBD
|
||||
|
||||
### Android Plugin for Eclipse
|
||||
|
||||
Google's last plugin release does not work completely with target's running Android 7.0 or later. Download the ADT-24.2.0-20160729.zip plugin
|
||||
from: https://github.com/khaledev/ADT/releases
|
||||
|
||||
In Eclipse go to: Help > Install New Software... > Add > Name: ADT Update, Click on the "Archive:" button and navigate to the downloaded ADT-24.2.0-20160729.zip file > Add. Install all "Developer Tools". Eclipse
|
||||
should restart and prompt you to run the SDK Manager. Launch it and continue to the next steps below.
|
||||
|
||||
### Android Platform
|
||||
|
||||
In Eclipse, if the SDK Manager is not already running, go to Window > Android SDK Manager. Install the following options / versions:
|
||||
|
||||
- Android SDK Build-tools 26.0.1
|
||||
- Android 7.1.1 (API 25) SDK Platform
|
||||
- Google USB Driver 11
|
||||
|
||||
Note that this will populate additional tools in the Android SDK install path extracted above.
|
||||
|
||||
### Proguard update
|
||||
|
||||
The Proguard included with the Android SDK Build-tools is outdated and does not work with Java 1.8. Download Proguard 6.0.3 from https://sourceforge.net/projects/proguard/files/proguard/6.0/.
|
||||
|
||||
- Go to the Android SDK install path. Rename the tools/proguard/ path to tools/proguard4.7/.
|
||||
|
||||
- Extract Proguard 6.0.3 to the Android SDK install path under tools/. You will need to rename the dir proguard6.0.3/ to proguard/.
|
||||
|
||||
### Android Build
|
||||
|
||||
The Eclipse plug-ins do NOT support building things for Android. They do however allow you to use the debugger so you can still set breakpoints and trace
|
||||
things out. The steps below show how to generate a debug Android build.
|
||||
|
||||
Right-click on the forge-gui-android project. Run as.. > Maven build...
|
||||
|
||||
On the Main tab, set Goals: install, Profiles: android-debug
|
||||
On the Environment tab, you may need to define the variable ANDROID_HOME with the value containing the path to your Android SDK installation.
|
||||
For example, Variable: ANDROID_HOME, Value: Your Android SDK install path here.
|
||||
|
||||
You should now be able to "run" the forge-gui-android Maven build. This may take a few minutes. If everything worked, you should see "BUILD SUCCESS" in the Console View.
|
||||
|
||||
Assuming you got this far, you should have an Android forge-android-[version].apk in the forge-gui-android/target path.
|
||||
|
||||
### Android Deploy
|
||||
|
||||
You'll need to have the Android SDK install path platform-tools/ path in your command search path to easily deploy builds.
|
||||
|
||||
- Open a command prompt. Navigate to the forge-gui-android/target/ path.
|
||||
|
||||
- Connect your Android device to your dev machine.
|
||||
|
||||
- Ensure the device is visible using `adb devices`
|
||||
|
||||
- Remove the old Forge install if present: `adb uninstall forge.app`
|
||||
|
||||
- Install the new apk: `adb install forge-android-[version].apk`
|
||||
|
||||
### Android Debugging
|
||||
|
||||
Assuming the apk is installed, launch it from the device.
|
||||
|
||||
In Eclipse, launch the DDMS. Window > Perspective > Open Perspective > Other... > DDMS. You should see the forge app in the list. Highlight the app, click on the green debug button and a
|
||||
green debug button should appear next to the app's name. You can now set breakpoints and step through the source code.
|
||||
|
||||
# IntelliJ
|
||||
|
||||
TBD
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
|
||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-core"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
@@ -1,24 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge-ai</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
<project>forge-game</project>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,3 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding//src/main/java=ISO-8859-1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -1,5 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
@@ -1,4 +0,0 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
@@ -233,8 +233,15 @@ public class AttachAi extends SpellAbilityAi {
|
||||
|
||||
boolean alternativeConsiderations = hasFloatMana || willDiscardNow || willDieNow || willRespondToStack || willCastAtEOT || willCastEarly;
|
||||
|
||||
if (!alternativeConsiderations && (combat == null || game.getPhaseHandler().getPhase().isBefore(PhaseType.COMBAT_DECLARE_BLOCKERS)) || (!combat.isAttacking(attachTarget) && !combat.isBlocking(attachTarget))) {
|
||||
return false;
|
||||
if (!alternativeConsiderations) {
|
||||
if (combat == null ||
|
||||
game.getPhaseHandler().getPhase().isBefore(PhaseType.COMBAT_DECLARE_BLOCKERS)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!(combat.isAttacking(attachTarget) || combat.isBlocking(attachTarget))) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
@@ -9,7 +9,10 @@ import forge.game.ability.AbilityFactory;
|
||||
import forge.game.ability.AbilityUtils;
|
||||
import forge.game.ability.ApiType;
|
||||
import forge.game.ability.effects.TokenEffect;
|
||||
import forge.game.card.*;
|
||||
import forge.game.card.Card;
|
||||
import forge.game.card.CardCollection;
|
||||
import forge.game.card.CardLists;
|
||||
import forge.game.card.CardPredicates;
|
||||
import forge.game.card.token.TokenInfo;
|
||||
import forge.game.combat.Combat;
|
||||
import forge.game.cost.CostPart;
|
||||
@@ -340,6 +343,7 @@ public class TokenAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected Player chooseSinglePlayer(Player ai, SpellAbility sa, Iterable<Player> options) {
|
||||
// TODO: AILogic
|
||||
readParameters(sa); // remember to call this somewhere!
|
||||
Combat combat = ai.getGame().getCombat();
|
||||
// TokenAttacking
|
||||
if (combat != null && sa.hasParam("TokenAttacking")) {
|
||||
@@ -359,6 +363,7 @@ public class TokenAi extends SpellAbilityAi {
|
||||
@Override
|
||||
protected GameEntity chooseSinglePlayerOrPlaneswalker(Player ai, SpellAbility sa, Iterable<GameEntity> options) {
|
||||
// TODO: AILogic
|
||||
readParameters(sa); // remember to call this somewhere!
|
||||
Combat combat = ai.getGame().getCombat();
|
||||
// TokenAttacking
|
||||
if (combat != null && sa.hasParam("TokenAttacking")) {
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge-core</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,4 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding//src/main/java=ISO-8859-1
|
||||
encoding//src/test/java=ISO-8859-1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -1,5 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
@@ -1,4 +0,0 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
@@ -1,11 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
|
||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/3"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="src" path="/forge-core"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge-game</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,4 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding//src/main/java=ISO-8859-1
|
||||
encoding//src/test/java=ISO-8859-1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -1,5 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
@@ -1,4 +0,0 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
@@ -94,32 +94,13 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
game.fireEvent(new GameEventCardStatsChanged(gameCard));
|
||||
}
|
||||
};
|
||||
if (sa.hasParam("UntilEndOfCombat")) {
|
||||
game.getEndOfCombat().addUntil(untilEOT);
|
||||
} else if (sa.hasParam("UntilYourNextUpkeep")) {
|
||||
game.getUpkeep().addUntil(sa.getActivatingPlayer(), untilEOT);
|
||||
} else if (sa.hasParam("UntilHostLeavesPlay")) {
|
||||
sa.getHostCard().addLeavesPlayCommand(untilEOT);
|
||||
} else if (sa.hasParam("UntilHostLeavesPlayOrEOT")) {
|
||||
sa.getHostCard().addLeavesPlayCommand(untilEOT);
|
||||
game.getEndOfTurn().addUntil(untilEOT);
|
||||
} else if (sa.hasParam("UntilLoseControlOfHost")) {
|
||||
sa.getHostCard().addLeavesPlayCommand(untilEOT);
|
||||
sa.getHostCard().addChangeControllerCommand(untilEOT);
|
||||
} else if (sa.hasParam("UntilYourNextTurn")) {
|
||||
game.getCleanup().addUntil(sa.getActivatingPlayer(), untilEOT);
|
||||
} else if (sa.hasParam("UntilUntaps")) {
|
||||
sa.getHostCard().addUntapCommand(untilEOT);
|
||||
} else {
|
||||
game.getEndOfTurn().addUntil(untilEOT);
|
||||
}
|
||||
addUntilCommand(sa, untilEOT);
|
||||
}
|
||||
game.fireEvent(new GameEventCardStatsChanged(gameCard));
|
||||
}
|
||||
|
||||
private static void applyPump(final SpellAbility sa, final Player p,
|
||||
final List<String> keywords, final long timestamp) {
|
||||
final Game game = p.getGame();
|
||||
final Card host = sa.getHostCard();
|
||||
//if host is not on the battlefield don't apply
|
||||
// Suspend should does Affect the Stack
|
||||
@@ -144,16 +125,32 @@ public class PumpEffect extends SpellAbilityEffect {
|
||||
}
|
||||
}
|
||||
};
|
||||
if (sa.hasParam("UntilEndOfCombat")) {
|
||||
game.getEndOfCombat().addUntil(untilEOT);
|
||||
} else if (sa.hasParam("UntilYourNextUpkeep")) {
|
||||
game.getUpkeep().addUntil(sa.getActivatingPlayer(), untilEOT);
|
||||
} else if (sa.hasParam("UntilLoseControlOfHost")) {
|
||||
sa.getHostCard().addLeavesPlayCommand(untilEOT);
|
||||
sa.getHostCard().addChangeControllerCommand(untilEOT);
|
||||
} else {
|
||||
game.getEndOfTurn().addUntil(untilEOT);
|
||||
}
|
||||
addUntilCommand(sa, untilEOT);
|
||||
}
|
||||
}
|
||||
|
||||
private static void addUntilCommand(final SpellAbility sa, GameCommand untilEOT) {
|
||||
final Card host = sa.getHostCard();
|
||||
final Game game = host.getGame();
|
||||
|
||||
if (sa.hasParam("UntilEndOfCombat")) {
|
||||
game.getEndOfCombat().addUntil(untilEOT);
|
||||
} else if (sa.hasParam("UntilYourNextUpkeep")) {
|
||||
game.getUpkeep().addUntil(sa.getActivatingPlayer(), untilEOT);
|
||||
} else if (sa.hasParam("UntilHostLeavesPlay")) {
|
||||
host.addLeavesPlayCommand(untilEOT);
|
||||
} else if (sa.hasParam("UntilHostLeavesPlayOrEOT")) {
|
||||
host.addLeavesPlayCommand(untilEOT);
|
||||
game.getEndOfTurn().addUntil(untilEOT);
|
||||
} else if (sa.hasParam("UntilLoseControlOfHost")) {
|
||||
host.addLeavesPlayCommand(untilEOT);
|
||||
host.addChangeControllerCommand(untilEOT);
|
||||
} else if (sa.hasParam("UntilYourNextTurn")) {
|
||||
game.getCleanup().addUntil(sa.getActivatingPlayer(), untilEOT);
|
||||
} else if (sa.hasParam("UntilUntaps")) {
|
||||
host.addUntapCommand(untilEOT);
|
||||
} else {
|
||||
game.getEndOfTurn().addUntil(untilEOT);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="src" output="target/classes" path="gen"/>
|
||||
<classpathentry kind="con" path="com.android.ide.eclipse.adt.ANDROID_FRAMEWORK"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.LIBRARIES"/>
|
||||
<classpathentry exported="true" kind="con" path="com.android.ide.eclipse.adt.DEPENDENCIES"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="output" path="bin/classes"/>
|
||||
</classpath>
|
||||
@@ -1,39 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge-gui-android</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ResourceManagerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.PreCompilerBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>com.android.ide.eclipse.adt.ApkBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>com.android.ide.eclipse.adt.AndroidNature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -1,8 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
@@ -1,4 +0,0 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
@@ -1,21 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
|
||||
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
|
||||
<attributes>
|
||||
<attribute name="test" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="module" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-gui"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-ai"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-core"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-game"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
@@ -1,26 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge-gui-desktop</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
<project>forge-core</project>
|
||||
<project>forge-game</project>
|
||||
<project>forge-gui</project>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -1,12 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
@@ -1,4 +0,0 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
@@ -17,8 +17,11 @@ import forge.Singletons;
|
||||
import forge.gui.GuiUtils;
|
||||
import forge.screens.home.online.OnlineMenu;
|
||||
import forge.util.ReflectionUtil;
|
||||
import forge.util.Localizer;
|
||||
|
||||
|
||||
public final class ForgeMenu {
|
||||
|
||||
private JPopupMenu popupMenu;
|
||||
private IMenuProvider provider;
|
||||
private static HashMap<KeyStroke, JMenuItem> activeShortcuts = new HashMap<KeyStroke, JMenuItem>();
|
||||
@@ -123,7 +126,8 @@ public final class ForgeMenu {
|
||||
}
|
||||
|
||||
private static JMenuItem getMenuItem_Restart() {
|
||||
JMenuItem menuItem = new JMenuItem("Restart");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblRestart"));
|
||||
menuItem.setMnemonic(KeyEvent.VK_R);
|
||||
menuItem.addActionListener(getRestartAction());
|
||||
return menuItem;
|
||||
@@ -139,7 +143,8 @@ public final class ForgeMenu {
|
||||
}
|
||||
|
||||
private static JMenuItem getMenuItem_Exit() {
|
||||
JMenuItem menuItem = new JMenuItem("Exit");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblExit"));
|
||||
menuItem.setMnemonic(KeyEvent.VK_X);
|
||||
menuItem.addActionListener(getExitAction());
|
||||
return menuItem;
|
||||
|
||||
@@ -4,6 +4,7 @@ import forge.properties.ForgeConstants;
|
||||
import forge.toolbox.FOptionPane;
|
||||
import forge.util.BuildInfo;
|
||||
import forge.util.FileUtil;
|
||||
import forge.util.Localizer;
|
||||
|
||||
import javax.swing.*;
|
||||
|
||||
@@ -18,7 +19,8 @@ public final class HelpMenu {
|
||||
private HelpMenu() { }
|
||||
|
||||
public static JMenu getMenu() {
|
||||
JMenu menu = new JMenu("Help");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenu menu = new JMenu(localizer.getMessage("lblHelp"));
|
||||
menu.setMnemonic(KeyEvent.VK_H);
|
||||
menu.add(getMenu_GettingStarted());
|
||||
menu.add(getMenu_Articles());
|
||||
@@ -32,7 +34,8 @@ public final class HelpMenu {
|
||||
}
|
||||
|
||||
private static JMenuItem getMenuItem_About() {
|
||||
JMenuItem menuItem = new JMenuItem("About Forge...");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblAboutForge")+ "...");
|
||||
menuItem.addActionListener(getAboutForgeAction());
|
||||
return menuItem;
|
||||
}
|
||||
@@ -41,15 +44,17 @@ public final class HelpMenu {
|
||||
return new ActionListener() {
|
||||
@Override
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
FOptionPane.showMessageDialog(
|
||||
"Version : " + BuildInfo.getVersionString(),
|
||||
"About Forge");
|
||||
localizer.getMessage("lblAboutForge"));
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
private static JMenu getMenu_Troubleshooting() {
|
||||
JMenu mnu = new JMenu("Troubleshooting");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenu mnu = new JMenu(localizer.getMessage("lblTroubleshooting"));
|
||||
mnu.add(getMenuItem_UrlLink("How to Provide a Useful Bug Report", "http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=9621"));
|
||||
mnu.addSeparator();
|
||||
mnu.add(getMenuItem_ReadMeFile());
|
||||
@@ -57,14 +62,16 @@ public final class HelpMenu {
|
||||
}
|
||||
|
||||
private static JMenu getMenu_Articles() {
|
||||
JMenu mnu = new JMenu("Articles");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenu mnu = new JMenu(localizer.getMessage("lblArticles"));
|
||||
mnu.add(getMenuItem_UrlLink("HOW-TO: Customize your Sealed Deck games with fantasy blocks", "http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=8164"));
|
||||
mnu.add(getMenuItem_UrlLink("Quest Mode: Guide to Formats, Worlds, and everything", "http://www.slightlymagic.net/forum/viewtopic.php?f=26&t=9258"));
|
||||
return mnu;
|
||||
}
|
||||
|
||||
private static JMenu getMenu_GettingStarted() {
|
||||
JMenu mnu = new JMenu("Getting Started");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenu mnu = new JMenu(localizer.getMessage("lblGettingStarted"));
|
||||
mnu.add(getMenuItem_HowToPlayFile());
|
||||
mnu.addSeparator();
|
||||
mnu.add(getMenuItem_UrlLink("Forge Wiki", "http://www.slightlymagic.net/wiki/Forge", KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0)));
|
||||
@@ -73,7 +80,8 @@ public final class HelpMenu {
|
||||
}
|
||||
|
||||
private static JMenuItem getMenuItem_HowToPlayFile() {
|
||||
JMenuItem menuItem = new JMenuItem("How to Play");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblHowtoPlay"));
|
||||
menuItem.addActionListener(getOpenFileAction(getFile(ForgeConstants.HOWTO_FILE)));
|
||||
return menuItem;
|
||||
}
|
||||
@@ -85,13 +93,15 @@ public final class HelpMenu {
|
||||
}
|
||||
|
||||
private static JMenuItem getMenuItem_License() {
|
||||
JMenuItem menuItem = new JMenuItem("Forge License");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblForgeLicense"));
|
||||
menuItem.addActionListener(getOpenFileAction(getFile(ForgeConstants.LICENSE_FILE)));
|
||||
return menuItem;
|
||||
}
|
||||
|
||||
private static JMenuItem getMenuItem_ReleaseNotes() {
|
||||
JMenuItem menuItem = new JMenuItem("Release Notes");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblReleaseNotes"));
|
||||
menuItem.addActionListener(getOpenFileAction(getFile(ForgeConstants.CHANGES_FILE)));
|
||||
return menuItem;
|
||||
}
|
||||
|
||||
@@ -26,6 +26,7 @@ import forge.toolbox.FSkin;
|
||||
import forge.toolbox.FSkin.SkinnedMenuItem;
|
||||
import forge.view.FFrame;
|
||||
import forge.view.FView;
|
||||
import forge.util.Localizer;
|
||||
|
||||
/**
|
||||
* Returns a JMenu containing options associated with game screen layout.
|
||||
@@ -42,8 +43,8 @@ public final class LayoutMenu {
|
||||
|
||||
public JMenu getMenu() {
|
||||
currentScreen = Singletons.getControl().getCurrentScreen();
|
||||
|
||||
final JMenu menu = new JMenu("Layout");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final JMenu menu = new JMenu(localizer.getMessage("lblLayout"));
|
||||
menu.setMnemonic(KeyEvent.VK_L);
|
||||
if (currentScreen != FScreen.HOME_SCREEN) {
|
||||
menu.add(getMenu_ViewOptions());
|
||||
@@ -60,7 +61,8 @@ public final class LayoutMenu {
|
||||
}
|
||||
|
||||
private JMenu getMenu_ViewOptions() {
|
||||
final JMenu menu = new JMenu("View");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final JMenu menu = new JMenu(localizer.getMessage("lblView"));
|
||||
menu.add(getMenuItem_ShowTabs());
|
||||
if (currentScreen != null && currentScreen.isMatchScreen()) {
|
||||
menu.add(getMenuItem_ShowBackgroundImage());
|
||||
@@ -69,14 +71,16 @@ public final class LayoutMenu {
|
||||
}
|
||||
|
||||
private JMenu getMenu_FileOptions() {
|
||||
final JMenu menu = new JMenu("File");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final JMenu menu = new JMenu(localizer.getMessage("lblFile"));
|
||||
menu.add(getMenuItem_OpenLayout());
|
||||
menu.add(getMenuItem_SaveLayout());
|
||||
return menu;
|
||||
}
|
||||
|
||||
private static JMenu getMenu_ThemeOptions() {
|
||||
final JMenu menu = new JMenu("Theme");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final JMenu menu = new JMenu(localizer.getMessage("lblTheme"));
|
||||
JRadioButtonMenuItem menuItem;
|
||||
final ButtonGroup group = new ButtonGroup();
|
||||
final String currentSkin = prefs.getPref(FPref.UI_SKIN);
|
||||
@@ -102,7 +106,8 @@ public final class LayoutMenu {
|
||||
};
|
||||
|
||||
private static JMenuItem getMenuItem_ShowBackgroundImage() {
|
||||
final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem("Background Image");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem(localizer.getMessage("lblBackgroundImage"));
|
||||
menuItem.setState(prefs.getPrefBoolean(FPref.UI_MATCH_IMAGE_VISIBLE));
|
||||
menuItem.addActionListener(getShowBackgroundImageAction(menuItem));
|
||||
return menuItem;
|
||||
@@ -124,7 +129,8 @@ public final class LayoutMenu {
|
||||
}
|
||||
|
||||
private static JMenuItem getMenuItem_ShowTabs() {
|
||||
final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem("Panel Tabs");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final JCheckBoxMenuItem menuItem = new JCheckBoxMenuItem(localizer.getMessage("lblPanelTabs"));
|
||||
menuItem.setAccelerator(MenuUtil.getAcceleratorKey(KeyEvent.VK_T));
|
||||
menuItem.setState(!prefs.getPrefBoolean(FPref.UI_HIDE_GAME_TABS));
|
||||
menuItem.addActionListener(getShowTabsAction(menuItem));
|
||||
@@ -142,7 +148,8 @@ public final class LayoutMenu {
|
||||
}
|
||||
|
||||
private JMenuItem getMenuItem_SaveLayout() {
|
||||
final SkinnedMenuItem menuItem = new SkinnedMenuItem("Save Current Layout");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final SkinnedMenuItem menuItem = new SkinnedMenuItem(localizer.getMessage("lblSaveCurrentLayout"));
|
||||
menuItem.setIcon((showIcons ? MenuUtil.getMenuIcon(FSkinProp.ICO_SAVELAYOUT) : null));
|
||||
menuItem.addActionListener(getSaveLayoutAction());
|
||||
return menuItem;
|
||||
@@ -157,7 +164,8 @@ public final class LayoutMenu {
|
||||
}
|
||||
|
||||
private JMenuItem getMenuItem_OpenLayout() {
|
||||
final SkinnedMenuItem menuItem = new SkinnedMenuItem("Open...");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final SkinnedMenuItem menuItem = new SkinnedMenuItem(localizer.getMessage("lblOpen") +"..");
|
||||
menuItem.setIcon((showIcons ? MenuUtil.getMenuIcon(FSkinProp.ICO_OPENLAYOUT) : null));
|
||||
menuItem.addActionListener(getOpenLayoutAction());
|
||||
return menuItem;
|
||||
@@ -172,7 +180,8 @@ public final class LayoutMenu {
|
||||
}
|
||||
|
||||
private JMenuItem getMenuItem_RevertLayout() {
|
||||
final SkinnedMenuItem menuItem = new SkinnedMenuItem("Refresh");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final SkinnedMenuItem menuItem = new SkinnedMenuItem(localizer.getMessage("lblRefresh"));
|
||||
menuItem.setIcon((showIcons ? MenuUtil.getMenuIcon(FSkinProp.ICO_REVERTLAYOUT) : null));
|
||||
menuItem.addActionListener(getRevertLayoutAction());
|
||||
return menuItem;
|
||||
@@ -187,7 +196,8 @@ public final class LayoutMenu {
|
||||
}
|
||||
|
||||
private static JMenuItem getMenuItem_SetWindowSize() {
|
||||
final JMenuItem menuItem = new JMenuItem("Set Window Size");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final JMenuItem menuItem = new JMenuItem(localizer.getMessage("lblSetWindowSize"));
|
||||
menuItem.addActionListener(getSetWindowSizeAction());
|
||||
return menuItem;
|
||||
}
|
||||
@@ -196,7 +206,8 @@ public final class LayoutMenu {
|
||||
return new ActionListener() {
|
||||
@Override public void actionPerformed(final ActionEvent e) {
|
||||
final String[] options = {"800x600", "1024x768", "1280x720"};
|
||||
final String choice = GuiChoose.oneOrNone("Choose new window size", options);
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
final String choice = GuiChoose.oneOrNone(localizer.getMessage("lblChooseNewWindowSize"), options);
|
||||
if (choice != null) {
|
||||
final String[] dims = choice.split("x");
|
||||
Singletons.getView().getFrame().setSize(Integer.parseInt(dims[0]), Integer.parseInt(dims[1]));
|
||||
@@ -207,10 +218,12 @@ public final class LayoutMenu {
|
||||
|
||||
private static JMenuItem fullScreenItem;
|
||||
public static void updateFullScreenItemText() {
|
||||
fullScreenItem.setText(Singletons.getView().getFrame().isFullScreen() ? "Exit Full Screen" : "Full Screen");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
fullScreenItem.setText(Singletons.getView().getFrame().isFullScreen() ? localizer.getMessage("lblExitFullScreen") : localizer.getMessage("lblFullScreen"));
|
||||
}
|
||||
private static JMenuItem getMenuItem_FullScreen() {
|
||||
fullScreenItem = new JMenuItem("Full Screen");
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
fullScreenItem = new JMenuItem(localizer.getMessage("lblFullScreen"));
|
||||
updateFullScreenItemText();
|
||||
fullScreenItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_F11, 0));
|
||||
fullScreenItem.addActionListener(getFullScreenAction());
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
package forge.screens.home;
|
||||
|
||||
import forge.util.Localizer;
|
||||
/**
|
||||
* Submenus each belong to a menu group, which
|
||||
* is used for several functions, such as expanding
|
||||
@@ -8,12 +8,12 @@ package forge.screens.home;
|
||||
* <br><br><i>(E at beginning of class name denotes an enum.)</i>
|
||||
*/
|
||||
public enum EMenuGroup {
|
||||
SANCTIONED ("Sanctioned Formats"),
|
||||
ONLINE ("Online Multiplayer"),
|
||||
QUEST ("Quest Mode"),
|
||||
PUZZLE ("Puzzle Mode"),
|
||||
GAUNTLET ("Gauntlets"),
|
||||
SETTINGS ("Game Settings");
|
||||
SANCTIONED ("lblSanctionedFormats"),
|
||||
ONLINE ("lblOnlineMultiplayer"),
|
||||
QUEST ("lblQuestMode"),
|
||||
PUZZLE ("lblPuzzleMode"),
|
||||
GAUNTLET ("lblGauntlets"),
|
||||
SETTINGS ("lblGameSettings");
|
||||
|
||||
private final String strTitle;
|
||||
|
||||
@@ -21,5 +21,9 @@ public enum EMenuGroup {
|
||||
private EMenuGroup(final String s0) { strTitle = s0; }
|
||||
|
||||
/** @return {@link java.lang.String} */
|
||||
public String getTitle() { return this.strTitle; }
|
||||
public String getTitle() {
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
String t = localizer.getMessage(this.strTitle);
|
||||
return t;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -51,9 +51,11 @@ import forge.toolbox.FTextField;
|
||||
import forge.util.MyRandom;
|
||||
import forge.util.NameGenerator;
|
||||
import forge.util.gui.SOptionPane;
|
||||
import forge.util.Localizer;
|
||||
|
||||
@SuppressWarnings("serial")
|
||||
public class PlayerPanel extends FPanel {
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
private final static ForgePreferences prefs = FModel.getPreferences();
|
||||
private static final SkinColor unfocusedPlayerOverlay = FSkin.getColor(FSkin.Colors.CLR_OVERLAY).alphaColor(120);
|
||||
|
||||
@@ -77,23 +79,23 @@ public class PlayerPanel extends FPanel {
|
||||
private final FComboBoxWrapper<Object> aeTeamComboBox = new FComboBoxWrapper<Object>();
|
||||
|
||||
private final FLabel closeBtn;
|
||||
private final FLabel deckBtn = new FLabel.ButtonBuilder().text("Select a deck").build();
|
||||
private final FLabel deckBtn = new FLabel.ButtonBuilder().text(localizer.getMessage("lblSelectaDeck")).build();
|
||||
private final FLabel deckLabel;
|
||||
|
||||
private final String variantBtnConstraints = "height 30px, hidemode 3";
|
||||
|
||||
private final FLabel scmDeckSelectorBtn = new FLabel.ButtonBuilder().text("Select a scheme deck").build();
|
||||
private final FLabel scmDeckEditor = new FLabel.ButtonBuilder().text("Scheme Deck Editor").build();
|
||||
private final FLabel scmDeckSelectorBtn = new FLabel.ButtonBuilder().text(localizer.getMessage("lblSelectaSchemeDeck")).build();
|
||||
private final FLabel scmDeckEditor = new FLabel.ButtonBuilder().text(localizer.getMessage("lblSchemeDeckEditor")).build();
|
||||
private final FLabel scmLabel;
|
||||
|
||||
private final FLabel cmdDeckSelectorBtn = new FLabel.ButtonBuilder().text("Select a Commander deck").build();
|
||||
private final FLabel cmdDeckSelectorBtn = new FLabel.ButtonBuilder().text(localizer.getMessage("lblSelectaCommanderDeck")).build();
|
||||
private final FLabel cmdLabel;
|
||||
|
||||
private final FLabel pchDeckSelectorBtn = new FLabel.ButtonBuilder().text("Select a planar deck").build();
|
||||
private final FLabel pchDeckEditor = new FLabel.ButtonBuilder().text("Planar Deck Editor").build();
|
||||
private final FLabel pchDeckSelectorBtn = new FLabel.ButtonBuilder().text(localizer.getMessage("lblSelectaPlanarDeck")).build();
|
||||
private final FLabel pchDeckEditor = new FLabel.ButtonBuilder().text(localizer.getMessage("lblPlanarDeckEditor")).build();
|
||||
private final FLabel pchLabel;
|
||||
|
||||
private final FLabel vgdSelectorBtn = new FLabel.ButtonBuilder().text("Select a Vanguard avatar").build();
|
||||
private final FLabel vgdSelectorBtn = new FLabel.ButtonBuilder().text(localizer.getMessage("lblSelectaVanguardAvatar")).build();
|
||||
private final FLabel vgdLabel;
|
||||
|
||||
private FCheckBox chkDevMode;
|
||||
@@ -110,11 +112,11 @@ public class PlayerPanel extends FPanel {
|
||||
this.mayControl = mayControl;
|
||||
this.allowNetworking = allowNetworking;
|
||||
|
||||
this.deckLabel = lobby.newLabel("Deck:");
|
||||
this.scmLabel = lobby.newLabel("Scheme deck:");
|
||||
this.cmdLabel = lobby.newLabel("Commander deck:");
|
||||
this.pchLabel = lobby.newLabel("Planar deck:");
|
||||
this.vgdLabel = lobby.newLabel("Vanguard:");
|
||||
this.deckLabel = lobby.newLabel(localizer.getMessage("lblDeck") + ":");
|
||||
this.scmLabel = lobby.newLabel(localizer.getMessage("lblSchemeDeck") + ":");
|
||||
this.cmdLabel = lobby.newLabel(localizer.getMessage("lblCommanderDeck") + ":");
|
||||
this.pchLabel = lobby.newLabel(localizer.getMessage("lblPlanarDeck") + ":");
|
||||
this.vgdLabel = lobby.newLabel(localizer.getMessage("lblVanguard") + ":");
|
||||
|
||||
setLayout(new MigLayout("insets 10px, gap 5px"));
|
||||
|
||||
@@ -449,8 +451,8 @@ public class PlayerPanel extends FPanel {
|
||||
}
|
||||
|
||||
private void populateTeamsComboBoxes() {
|
||||
aeTeamComboBox.addItem("Archenemy");
|
||||
aeTeamComboBox.addItem("Heroes");
|
||||
aeTeamComboBox.addItem(localizer.getMessage("lblArchenemy"));
|
||||
aeTeamComboBox.addItem(localizer.getMessage("lblHeroes"));
|
||||
|
||||
for (int i = 1; i <= VLobby.MAX_PLAYERS; i++) {
|
||||
teamComboBox.addItem(i);
|
||||
@@ -553,12 +555,12 @@ public class PlayerPanel extends FPanel {
|
||||
* @param index
|
||||
*/
|
||||
private void createPlayerTypeOptions() {
|
||||
radioHuman = new FRadioButton("Human");
|
||||
radioAi = new FRadioButton("AI");
|
||||
radioOpen = new FRadioButton("Open");
|
||||
radioHuman = new FRadioButton(localizer.getMessage("lblHuman"));
|
||||
radioAi = new FRadioButton(localizer.getMessage("lblAI"));
|
||||
radioOpen = new FRadioButton(localizer.getMessage("lblOpen"));
|
||||
|
||||
final JPopupMenu menu = new JPopupMenu();
|
||||
radioAiUseSimulation = new JCheckBoxMenuItem("Use Simulation");
|
||||
radioAiUseSimulation = new JCheckBoxMenuItem(localizer.getMessage("lblUseSimulation"));
|
||||
menu.add(radioAiUseSimulation);
|
||||
radioAiUseSimulation.addActionListener(new ActionListener() {
|
||||
@Override public final void actionPerformed(final ActionEvent e) {
|
||||
@@ -577,7 +579,7 @@ public class PlayerPanel extends FPanel {
|
||||
}
|
||||
|
||||
private void createReadyButton() {
|
||||
chkReady = new FCheckBox("Ready");
|
||||
chkReady = new FCheckBox(localizer.getMessage("lblReady"));
|
||||
chkReady.addActionListener(new ActionListener() {
|
||||
@Override public final void actionPerformed(final ActionEvent e) {
|
||||
lobby.setReady(index, chkReady.isSelected());
|
||||
@@ -586,7 +588,7 @@ public class PlayerPanel extends FPanel {
|
||||
}
|
||||
|
||||
private void createDevModeButton() {
|
||||
chkDevMode = new FCheckBox("Dev Mode");
|
||||
chkDevMode = new FCheckBox(localizer.getMessage("cbDevMode"));
|
||||
|
||||
chkDevMode.addActionListener(new ActionListener() {
|
||||
@Override public final void actionPerformed(final ActionEvent e) {
|
||||
@@ -621,7 +623,7 @@ public class PlayerPanel extends FPanel {
|
||||
* @return
|
||||
*/
|
||||
private FLabel createNameRandomizer() {
|
||||
final FLabel newNameBtn = new FLabel.Builder().tooltip("Get a new random name").iconInBackground(false)
|
||||
final FLabel newNameBtn = new FLabel.Builder().tooltip(localizer.getMessage("lblGetaNewRandomName")).iconInBackground(false)
|
||||
.icon(FSkin.getIcon(FSkinProp.ICO_EDIT)).hoverable(true).opaque(false)
|
||||
.unhoveredAlpha(0.9f).build();
|
||||
newNameBtn.setCommand(new UiCommand() {
|
||||
@@ -654,7 +656,7 @@ public class PlayerPanel extends FPanel {
|
||||
if (index == 0) {
|
||||
name = FModel.getPreferences().getPref(FPref.PLAYER_NAME);
|
||||
if (name.isEmpty()) {
|
||||
name = "Human";
|
||||
name = localizer.getMessage("lblHuman");
|
||||
}
|
||||
}
|
||||
else {
|
||||
@@ -669,11 +671,11 @@ public class PlayerPanel extends FPanel {
|
||||
}
|
||||
|
||||
private FLabel createCloseButton() {
|
||||
final FLabel closeBtn = new FLabel.Builder().tooltip("Remove").iconInBackground(false)
|
||||
final FLabel closeBtn = new FLabel.Builder().tooltip(localizer.getMessage("lblRemove")).iconInBackground(false)
|
||||
.icon(FSkin.getIcon(FSkinProp.ICO_CLOSE)).hoverable(true).build();
|
||||
closeBtn.setCommand(new Runnable() {
|
||||
@Override public final void run() {
|
||||
if (type == LobbySlotType.REMOTE && !SOptionPane.showConfirmDialog(String.format("Really kick %s?", playerName), "Kick", false)) {
|
||||
if (type == LobbySlotType.REMOTE && !SOptionPane.showConfirmDialog(String.format(localizer.getMessage("lblReallyKick"), playerName), localizer.getMessage("lblKick"), false)) {
|
||||
return;
|
||||
}
|
||||
lobby.removePlayer(index);
|
||||
@@ -691,7 +693,7 @@ public class PlayerPanel extends FPanel {
|
||||
setRandomAvatar(false);
|
||||
}
|
||||
|
||||
avatarLabel.setToolTipText("L-click: Select avatar. R-click: Randomize avatar.");
|
||||
avatarLabel.setToolTipText(localizer.getMessage("ttlblAvatar"));
|
||||
avatarLabel.addFocusListener(avatarFocusListener);
|
||||
avatarLabel.addMouseListener(avatarMouseListener);
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@ import forge.screens.home.EMenuGroup;
|
||||
import forge.screens.home.IVSubmenu;
|
||||
import forge.screens.home.VHomeUI;
|
||||
import forge.screens.home.VLobby;
|
||||
import forge.util.Localizer;
|
||||
|
||||
/**
|
||||
* Assembles Swing components of constructed submenu singleton.
|
||||
@@ -25,12 +26,12 @@ import forge.screens.home.VLobby;
|
||||
*
|
||||
*/
|
||||
public enum VSubmenuConstructed implements IVSubmenu<CSubmenuConstructed> {
|
||||
SINGLETON_INSTANCE;
|
||||
|
||||
SINGLETON_INSTANCE;
|
||||
final Localizer localizer = Localizer.getInstance();
|
||||
// Fields used with interface IVDoc
|
||||
private DragCell parentCell;
|
||||
private final DragTab tab = new DragTab("Constructed Mode");
|
||||
|
||||
private final DragTab tab = new DragTab(localizer.getMessage("lblConstructedMode"));
|
||||
private final GameLobby lobby = new LocalLobby();
|
||||
private final VLobby vLobby = new VLobby(lobby);
|
||||
private VSubmenuConstructed() {
|
||||
@@ -105,7 +106,8 @@ public enum VSubmenuConstructed implements IVSubmenu<CSubmenuConstructed> {
|
||||
*/
|
||||
@Override
|
||||
public String getMenuTitle() {
|
||||
return "Constructed";
|
||||
|
||||
return localizer.getMessage("lblConstructed");
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
|
||||
@@ -123,11 +123,16 @@ public class FloatingZone extends FloatingCardArea {
|
||||
};
|
||||
|
||||
protected Iterable<CardView> getCards() {
|
||||
cardList = new FCollection<CardView>(player.getCards(zone));
|
||||
if ( sortedByName ) {
|
||||
Collections.sort(cardList, comp);
|
||||
}
|
||||
return cardList;
|
||||
Iterable<CardView> zoneCards = player.getCards(zone);
|
||||
if ( zoneCards != null ) {
|
||||
cardList = new FCollection<CardView>(zoneCards);
|
||||
if ( sortedByName ) {
|
||||
Collections.sort(cardList, comp);
|
||||
}
|
||||
return cardList;
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
private FloatingZone(final CMatchUI matchUI, final PlayerView player0, final ZoneType zone0) {
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-core"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-game"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-gui"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-gui-mobile"/>
|
||||
<classpathentry combineaccessrules="false" kind="src" path="/forge-ai"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="minlog-1.2.jar"/>
|
||||
<classpathentry kind="lib" path="libs/gdx-backend-robovm.jar"/>
|
||||
<classpathentry kind="lib" path="/forge-gui-mobile/libs/gdx.jar" sourcepath="libs/gdx-sources.jar"/>
|
||||
<classpathentry kind="lib" path="/forge-gui-mobile/libs/gdx-freetype.jar"/>
|
||||
<classpathentry kind="con" path="org.robovm.eclipse.ROBOVM_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.robovm.eclipse.ROBOVM_COCOA_TOUCH_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
@@ -1,36 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge-gui-ios</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
<project>forge</project>
|
||||
<project>forge-ai</project>
|
||||
<project>forge-core</project>
|
||||
<project>forge-game</project>
|
||||
<project>forge-gui</project>
|
||||
<project>forge-gui-mobile</project>
|
||||
<project>forge-net</project>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.robovm.eclipse.RoboVMClassBuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.robovm.eclipse.RoboVMNature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=ISO-8859-1
|
||||
@@ -1,20 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="lib" path="libs/gdx-backend-lwjgl-natives.jar"/>
|
||||
<classpathentry kind="lib" path="libs/gdx-backend-lwjgl.jar" sourcepath="libs/gdx-backend-lwjgl-sources.jar"/>
|
||||
<classpathentry kind="lib" path="libs/gdx-natives.jar"/>
|
||||
<classpathentry kind="lib" path="libs/gdx-freetype-natives.jar"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
@@ -1,29 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge-gui-mobile-dev</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
<variableList>
|
||||
<variable>
|
||||
<name>copy_PARENT</name>
|
||||
<value>$%7BPARENT-1-PROJECT_LOC%7D/trunk</value>
|
||||
</variable>
|
||||
</variableList>
|
||||
</projectDescription>
|
||||
@@ -1,12 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
@@ -1,4 +0,0 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
@@ -1,18 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src">
|
||||
<attributes>
|
||||
<attribute name="optional" value="true"/>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry exported="true" kind="lib" path="libs/gdx.jar" sourcepath="libs/gdx-sources.jar"/>
|
||||
<classpathentry kind="lib" path="libs/gdx-freetype.jar"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||
<attributes>
|
||||
<attribute name="maven.pomderived" value="true"/>
|
||||
</attributes>
|
||||
</classpathentry>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge-gui-mobile</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,12 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
@@ -1,4 +0,0 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
@@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" output="target/classes" path="src/main/java"/>
|
||||
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources"/>
|
||||
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.testng.TESTNG_CONTAINER"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
|
||||
<classpathentry kind="output" path="target/classes"/>
|
||||
</classpath>
|
||||
@@ -1,23 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>forge-gui</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
@@ -1,2 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding/<project>=UTF-8
|
||||
@@ -1,5 +0,0 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
|
||||
org.eclipse.jdt.core.compiler.compliance=1.7
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.source=1.7
|
||||
@@ -1,4 +0,0 @@
|
||||
activeProfiles=
|
||||
eclipse.preferences.version=1
|
||||
resolveWorkspaceProjects=true
|
||||
version=1
|
||||
@@ -17,5 +17,5 @@ SVar:DBSac:DB$ Sacrifice | Defined$ Player.IsRemembered | SacValid$ Card.ChosenC
|
||||
SVar:DBGainLife:DB$ GainLife | Defined$ You | LifeAmount$ X | References$ X | SubAbility$ DBCleanup
|
||||
SVar:DBCleanup:DB$ Cleanup | ClearRemembered$ True
|
||||
SVar:X:RememberedLKI$CardPower
|
||||
SVar:NeedsToPlay:Creature.OppCtrl
|
||||
SVar:SplitNeedsToPlay:Creature.OppCtrl
|
||||
Oracle:Target player sacrifices a creature with the greatest power among creatures they control. You gain life equal to its power.
|
||||
@@ -4,7 +4,7 @@ Date=2018-11-16
|
||||
Name=M19 Gift Pack
|
||||
Code2=G18
|
||||
MciCode=g18
|
||||
Type=Special
|
||||
Type=Other
|
||||
|
||||
[cards]
|
||||
1 S Angelic Guardian
|
||||
|
||||
@@ -3,5 +3,5 @@ Name:Brawl
|
||||
Order:101
|
||||
Type:Casual
|
||||
Subtype:Commander
|
||||
Sets:XLN, RIX, DOM, M19, GRN, RNA
|
||||
Sets:XLN, RIX, DOM, M19, G18, GRN, RNA
|
||||
Banned:Sorcerous Spyglass
|
||||
@@ -3,5 +3,5 @@ Name:Modern
|
||||
Order:102
|
||||
Subtype:Modern
|
||||
Type:Sanctioned
|
||||
Sets:8ED, MRD, DST, 5DN, CHK, BOK, SOK, 9ED, RAV, GPT, DIS, CSP, TSP, TSB, PLC, FUT, 10E, LRW, EVE, SHM, MOR, ALA, CFX, ARB, M10, ZEN, WWK, ROE, M11, SOM, MBS, NPH, M12, ISD, DKA, AVR, M13, RTR, GTC, DGM, M14, THS, BNG, JOU, M15, KTK, FRF, DTK, MM2, ORI, BFZ, OGW, SOI, EMN, KLD, AER, AKH, W17, HOU, XLN, RIX, DOM, M19, GRN, RNA
|
||||
Sets:8ED, MRD, DST, 5DN, CHK, BOK, SOK, 9ED, RAV, GPT, DIS, CSP, TSP, TSB, PLC, FUT, 10E, LRW, EVE, SHM, MOR, ALA, CFX, ARB, M10, ZEN, WWK, ROE, M11, SOM, MBS, NPH, M12, ISD, DKA, AVR, M13, RTR, GTC, DGM, M14, THS, BNG, JOU, M15, KTK, FRF, DTK, MM2, ORI, BFZ, OGW, SOI, EMN, KLD, AER, AKH, W17, HOU, XLN, RIX, DOM, M19, G18, GRN, RNA
|
||||
Banned:Ancient Den; Birthing Pod; Blazing Shoal; Chrome Mox; Cloudpost; Dark Depths; Deathrite Shaman; Dig Through Time; Dread Return; Eye of Ugin; Gitaxian Probe; Glimpse of Nature; Golgari Grave-Troll; Great Furnace; Green Sun's Zenith; Hypergenesis; Krark-Clan Ironworks; Mental Misstep; Ponder; Preordain; Punishing Fire; Rite of Flame; Seat of the Synod; Second Sunrise; Seething Song; Sensei's Divining Top; Skullclamp; Splinter Twin; Stoneforge Mystic; Summer Bloom; Treasure Cruise; Tree of Tales; Umezawa's Jitte; Vault of Whispers
|
||||
|
||||
@@ -3,5 +3,5 @@ Name:Standard
|
||||
Order:101
|
||||
Subtype:Standard
|
||||
Type:Sanctioned
|
||||
Sets:XLN, RIX, DOM, M19, GRN, RNA
|
||||
Sets:XLN, RIX, DOM, M19, G18, GRN, RNA
|
||||
Banned: Rampaging Ferocidon
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
language.name = English (US)
|
||||
|
||||
splash.loading.examining-cards = Loading cards, examining folder
|
||||
splash.loading.cards-folders = Loading cards from folders
|
||||
splash.loading.cards-archive = Loading cards from archive
|
||||
splash.loading.decks = Loading decks...
|
||||
|
||||
# VSubmenuPreferences.java
|
||||
|
||||
#VSubmenuPreferences.java
|
||||
Preferences = Preferences
|
||||
btnReset = Reset to Default Settings
|
||||
btnDeleteMatchUI = Reset Match Layout
|
||||
@@ -133,13 +130,9 @@ nlEnableSounds = Enable sound effects during the game
|
||||
nlEnableMusic = Enable background music during the game
|
||||
nlAltSoundSystem = Use the alternate sound system (only use if you have issues with sound not playing or disappearing)
|
||||
KeyboardShortcuts = Keyboard Shortcuts
|
||||
|
||||
# VSubmenuAchievements.java
|
||||
|
||||
Achievements = Achievements
|
||||
|
||||
# VSubmenuDownloaders.java
|
||||
|
||||
btnDownloadSetPics = Download LQ Set Pictures
|
||||
btnDownloadPics = Download LQ Card Pictures
|
||||
btnDownloadQuestImages = Download Quest Images
|
||||
@@ -164,7 +157,6 @@ lblHowToPlay = Rules of the Game.
|
||||
lblLicensing = Forge legal.
|
||||
ContentDownloaders = Content Downloaders
|
||||
ReleaseNotes = Release Notes
|
||||
|
||||
# CSubmenuPreferences.java
|
||||
CantChangeDevModeWhileNetworkMath = Can't change DEV_MODE while a network match is in progress!
|
||||
CompatibilityWarningsReEnabled = Compatibility warnings re-enabled!
|
||||
@@ -179,3 +171,63 @@ OKresetWorkshopLayout = Workshop layout has been reset.
|
||||
AresetMatchScreenLayout = This will reset the layout of the Match screen.\n If you want to save the current layout first, please use the Dock tab -> Save Layout option in the Match screen.\n\n Reset layout?
|
||||
TresetMatchScreenLayout = Reset Match Screen Layout
|
||||
OKresetMatchScreenLayout = Match Screen layout has been reset.
|
||||
#EMenuGroup.java
|
||||
lblSanctionedFormats= Sanctioned Formats
|
||||
lblOnlineMultiplayer = Online Multiplayer
|
||||
lblQuestMode = Quest Mode
|
||||
lblPuzzleMode = Puzzle Mode
|
||||
lblGauntlets = Gauntlets
|
||||
lblGameSettings = Game Settings
|
||||
#VSubmenuConstructed.java
|
||||
lblConstructedMode = Constructed Mode
|
||||
lblConstructed = Constructed
|
||||
#PlayerPanel.java
|
||||
lblSelectaDeck=Select a deck
|
||||
lblSelectaSchemeDeck=Select a scheme deck
|
||||
lblSchemeDeckEditor=Scheme Deck Editor
|
||||
lblSelectaCommanderDeck=Select a Commander deck
|
||||
lblSelectaPlanarDeck = Select a planar deck
|
||||
lblPlanarDeckEditor = Planar Deck Editor
|
||||
lblSelectaVanguardAvatar = Select a Vanguard avatar
|
||||
lblDeck=Deck
|
||||
lblSchemeDeck=Scheme Deck
|
||||
lblCommanderDeck= Commander Deck
|
||||
lblPlanarDeck=Planar Deck
|
||||
lblVanguard=Vanguard
|
||||
lblHuman=Human
|
||||
lblAI=AI
|
||||
lblOpen=Open
|
||||
lblUseSimulation=Use Simulation
|
||||
lblGetaNewRandomName=Get a new random name
|
||||
lblArchenemy=Archenemy
|
||||
lblHeroes=Heroes
|
||||
lblRemove=Remove
|
||||
ttlblAvatar=L-click: Select avatar. R-click: Randomize avatar.
|
||||
lblReady=Ready
|
||||
lblKick = Kick
|
||||
lblReallyKick = Really Kick %s?
|
||||
#ForgeMenu.java
|
||||
lblRestart=Restart
|
||||
lblExit=Exit
|
||||
#LayoutMenu.java
|
||||
lblLayout=Layout
|
||||
lblView=View
|
||||
lblFile=File
|
||||
lblTheme=Theme
|
||||
lblBackgroundImage=Background Image
|
||||
lblPanelTabs=Panel Tabs
|
||||
lblSaveCurrentLayout=Save Current Layout
|
||||
lblRefresh=Refresh
|
||||
lblSetWindowSize=Set Window Size
|
||||
lblChooseNewWindowSize=Choose new window size
|
||||
lblFullScreen=Full Screen
|
||||
lblExitFullScreen=Exit Full Screen
|
||||
#HelpMenu.java
|
||||
lblHelp=Help
|
||||
lblAboutForge=About Forge
|
||||
lblTroubleshooting=Troubleshooting
|
||||
lblArticles=Articles
|
||||
lblGettingStarted=Getting Started
|
||||
lblHowtoPlay=How to Play
|
||||
lblForgeLicense=Forge License
|
||||
lblReleaseNotes=Release Notes
|
||||
16
forge-gui/res/puzzle/PS_RNA4.pzl
Normal file
16
forge-gui/res/puzzle/PS_RNA4.pzl
Normal file
@@ -0,0 +1,16 @@
|
||||
[metadata]
|
||||
Name:Possibility Storm - Ravnica Allegiance #04
|
||||
URL:http://www.possibilitystorm.com/wp-content/uploads/2019/02/101.-RNA4.jpg
|
||||
Goal:Win
|
||||
Turns:1
|
||||
Difficulty:Rare
|
||||
Description:Win this turn. Your solution must satisfy all possible blocking scenarios.
|
||||
[state]
|
||||
humanlife=20
|
||||
ailife=13
|
||||
turn=1
|
||||
activeplayer=human
|
||||
activephase=MAIN1
|
||||
humanhand=Zhur-Taa Goblin;Galloping Lizrog;Incubation Druid;Aeromunculus
|
||||
humanbattlefield=Rhythm of the Wild;Combine Guildmage|NoETBTrigs;Herald of Secret Streams|NoETBTrigs;Breeding Pool|NoETBTrigs;Breeding Pool|NoETBTrigs;Breeding Pool|NoETBTrigs;Breeding Pool|NoETBTrigs;Stomping Ground|NoETBTrigs;Stomping Ground|NoETBTrigs;Stomping Ground|NoETBTrigs;Stomping Ground|NoETBTrigs
|
||||
aibattlefield=Hydroid Krasis|Counters:P1P1=4;The Haunt of Hightower|Counters:P1P1=1;Hydroid Krasis|Counters:P1P1=4
|
||||
21
forge-gui/res/quest/duels/Sting 1.dck
Normal file
21
forge-gui/res/quest/duels/Sting 1.dck
Normal file
@@ -0,0 +1,21 @@
|
||||
[duel]
|
||||
[metadata]
|
||||
Name=Sting 1
|
||||
Title=Sting
|
||||
Difficulty=easy
|
||||
Description=Lots of things that go "ping!" at you.
|
||||
Icon=Sting.jpg
|
||||
Deck Type=constructed
|
||||
[main]
|
||||
4 Prodigal Sorcerer
|
||||
4 Prodigal Pyromancer
|
||||
4 Suq'Ata Firewalker
|
||||
4 Zuran Spellcaster
|
||||
4 Jeska, Warrior Adept
|
||||
4 Kamahl, Pit Fighter
|
||||
4 Giant Strength
|
||||
4 Counterspell
|
||||
4 Rod of Ruin
|
||||
12 Mountain
|
||||
12 Island
|
||||
[sideboard]
|
||||
@@ -437,13 +437,14 @@ public class QuestController {
|
||||
String path = ForgeConstants.DEFAULT_CHALLENGES_DIR;
|
||||
|
||||
//Use a variant specialized duel manager if this is a variant quest
|
||||
switch(FModel.getQuest().getDeckConstructionRules()){
|
||||
case Default: break;
|
||||
case Commander: this.duelManager = new QuestEventCommanderDuelManager(); return;
|
||||
if (FModel.getQuest() != null) {
|
||||
switch(FModel.getQuest().getDeckConstructionRules()){
|
||||
case Default: break;
|
||||
case Commander: this.duelManager = new QuestEventCommanderDuelManager(); return;
|
||||
}
|
||||
}
|
||||
|
||||
if (world != null) {
|
||||
|
||||
if (world.getName().equals(QuestWorld.STANDARDWORLDNAME)) {
|
||||
this.duelManager = new QuestEventLDADuelManager();
|
||||
return;
|
||||
|
||||
14
pom.xml
14
pom.xml
@@ -378,20 +378,6 @@
|
||||
<ignore />
|
||||
</action>
|
||||
</pluginExecution>
|
||||
<pluginExecution>
|
||||
<pluginExecutionFilter>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<versionRange>[3.1,)</versionRange>
|
||||
<goals>
|
||||
<goal>testCompile</goal>
|
||||
<goal>compile</goal>
|
||||
</goals>
|
||||
</pluginExecutionFilter>
|
||||
<action>
|
||||
<execute />
|
||||
</action>
|
||||
</pluginExecution>
|
||||
<pluginExecution>
|
||||
<pluginExecutionFilter>
|
||||
<groupId>org.apache.maven.plugins</groupId>
|
||||
|
||||
Reference in New Issue
Block a user