mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-11 16:26:22 +00:00
Remove outdated stuff (#9105)
This commit is contained in:
104
CONTRIBUTING.md
104
CONTRIBUTING.md
@@ -2,8 +2,6 @@
|
||||
|
||||
[Official repo](https://github.com/Card-Forge/forge.git).
|
||||
|
||||
Dev instructions here: [Getting Started](https://github.com/Card-Forge/forge/wiki) (Somewhat outdated)
|
||||
|
||||
## Requirements / Tools
|
||||
|
||||
- your favourite Java IDE (IntelliJ, Eclipse, VSCodium, Emacs, Vi...)
|
||||
@@ -18,11 +16,10 @@ Dev instructions here: [Getting Started](https://github.com/Card-Forge/forge/wik
|
||||
|
||||
## Project Quick Setup
|
||||
|
||||
- Login into GitHub with your user account and fork the project.
|
||||
|
||||
- Login into GitHub with your user account and fork the project
|
||||
- Clone your forked project to your local machine
|
||||
|
||||
- Go to the project location on your machine. Run Maven to download all dependencies and build a snapshot. Example for Windows & Linux: `mvn -U -B clean -P windows-linux install`
|
||||
- Go to the project location on your machine. Run Maven to download all dependencies and build a snapshot.
|
||||
- Example for Windows & Linux: `mvn -U -B clean -P windows-linux install`
|
||||
|
||||
## IntelliJ
|
||||
|
||||
@@ -30,107 +27,28 @@ IntelliJ is the recommended IDE for Forge development. Quick start guide for [se
|
||||
|
||||
## Eclipse
|
||||
|
||||
Eclipse includes Maven integration so a separate install is not necessary. For other IDEs, your mileage may vary.
|
||||
At this time, Eclipse is not the recommended IDE for Forge development.
|
||||
Eclipse includes Maven integration so a separate install is not necessary.
|
||||
Google no longer supports Android SDK releases for Eclipse.
|
||||
|
||||
### Project Setup
|
||||
|
||||
- Follow the instructions for cloning from GitHub. You'll need to setup an account and your SSH key.
|
||||
|
||||
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 GitHub profile under
|
||||
"SSH keys". Run pageant.exe and add the private key generated earlier. TortoiseGit will use this for accessing GitHub.
|
||||
|
||||
- Fork the Forge git repo to your GitHub account.
|
||||
|
||||
- Clone your forked repo to your local machine.
|
||||
|
||||
- Make sure the Java SDK is installed -- not just the JRE. Java 17 or newer required. If you execute `java -version` at the shell or command prompt, it should report version 17 or later.
|
||||
|
||||
- Install Eclipse 2021-12 or later for Java. Launch it.
|
||||
|
||||
- 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. 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
|
||||
|
||||
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)
|
||||
|
||||
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. use IntelliJ.
|
||||
|
||||
#### Android SDK
|
||||
## Windows
|
||||
|
||||
TBD
|
||||
|
||||
##### Windows
|
||||
## Linux / Mac OSX
|
||||
|
||||
TBD
|
||||
|
||||
##### Linux / Mac OSX
|
||||
### Android Platform
|
||||
|
||||
TBD
|
||||
|
||||
#### Android Plugin for Eclipse
|
||||
|
||||
TBD
|
||||
|
||||
#### Android Platform
|
||||
|
||||
In Intellij, if the SDK Manager is not already running, go to Tools > Android > Android SDK Manager. Install the following options / versions:
|
||||
In IntelliJ, if the SDK Manager is not already running, go to Tools > Android > Android SDK Manager. Install the following options / versions:
|
||||
|
||||
- Android SDK Build-tools 35.0.0
|
||||
- Android 15 (API 35) SDK Platform
|
||||
|
||||
#### Proguard update
|
||||
### Proguard update
|
||||
|
||||
Standalone Proguard 7.6.0 is included with the project (proguard.jar) under forge-gui-android > tools and supports up to Java 23 (latest android uses Java 17).
|
||||
|
||||
#### Android Build
|
||||
|
||||
TBD
|
||||
|
||||
#### Android Deploy
|
||||
|
||||
TBD
|
||||
|
||||
#### Android Debugging
|
||||
|
||||
TBD
|
||||
|
||||
### Windows / Linux SNAPSHOT build
|
||||
|
||||
SNAPSHOT builds can be built via the Maven integration in Eclipse.
|
||||
|
||||
1. Create a Maven build for the forge top-level project. Right-click on the forge project. Run as.. > Maven build...
|
||||
|
||||
- On the Main tab, set Goals: clean install, set Profiles: windows-linux
|
||||
|
||||
2. Run forge Maven build. If everything built, you should see "BUILD SUCCESS" in the Console View.
|
||||
|
||||
The resulting snapshot will be found at: forge-gui-desktop/target/forge-gui-desktop-[version]-SNAPSHOT
|
||||
|
||||
## Card Scripting
|
||||
|
||||
Visit [this page](https://github.com/Card-Forge/forge/wiki/Card-scripting-API) for information on scripting.
|
||||
@@ -193,3 +111,5 @@ Mobile GUI game logic utilizing [libgdx](https://libgdx.badlogicgames.com/) libr
|
||||
#### forge-gui-mobile-dev
|
||||
|
||||
Libgdx backend for desktop development for mobile backends. Utilizes LWJGL. Relies on forge-gui-mobile for GUI logic.
|
||||
|
||||
#### forge-installer
|
||||
@@ -1,5 +1,7 @@
|
||||
Using the Forge API you can create your own custom cards and sets. This tutorial will walk you through the process of creating custom cards via the Force Custom Card Script.
|
||||
|
||||
If you are trying to script cards for a new set make sure you take advantage of the [Developer Mode](Development/DevMode.md) for testing to try and contribute without any obvious bugs.
|
||||
|
||||
## File Locations
|
||||
|
||||
### Custom Card Scripts
|
||||
|
||||
@@ -2,19 +2,10 @@ Developer Mode is a Mode that allows Developers to try out different
|
||||
things and gain different shortcuts during play. In a Normal program,
|
||||
this Mode would be available in a Debug build, but removed from the code
|
||||
during the Retail build. Since Forge is in constant Beta, this Mode is
|
||||
available during our Beta releases. On the NewGame Screen, just make
|
||||
sure it's checked and you'll be able to edit the options at any point
|
||||
during the game.
|
||||
available during our Beta releases. You can turn on or off this mode at the
|
||||
Home View -> Game Settings -> Preferences -> Gameplay Options section.
|
||||
|
||||
## Lose By Decking
|
||||
|
||||
This one is a simple Checkbox. If your Library is Empty and you try to
|
||||
try a card, you normally lose the game. This checkbox should be on by
|
||||
Default (meaning you lose) but if you are running a deck without many
|
||||
cards, uncheck this box so you don't lose when failing to draw a card
|
||||
when you need to.
|
||||
|
||||
\[THIS OPTION NOT READILY VISIBLE IN VERSIONS 1.6.23\]
|
||||
It's important to note you won't get achievements in a game once you started cheating.
|
||||
|
||||
## View Zone
|
||||
|
||||
@@ -26,8 +17,7 @@ that Zone are revealed to you.
|
||||
## Generate Mana
|
||||
|
||||
Useful for not needing Land in your Deck while you are just trying to
|
||||
test something out, by selecting Generate Mana, 7 of each color and 7
|
||||
colorless is generated and put into your Mana Pool.
|
||||
test something out, by selecting Generate Mana, 7 of each type is generated and put into your Mana Pool.
|
||||
|
||||
## Setup Game State
|
||||
|
||||
@@ -179,5 +169,3 @@ AI hands and leaves them intact, and adds Force of Nature, Raging
|
||||
Goblin, and Amulet of Kroog to the computer's graveyard. Does not
|
||||
replace either library. Sets the current player to Human and the current
|
||||
phase to Main 1.
|
||||
|
||||
It's important to note you won't get achievements in a game once you started cheating.
|
||||
@@ -40,7 +40,5 @@ It would be useful for other people to be comfortable with the release process.
|
||||
* Create a PR from your branch and get it merged as quickly as you can (ideally before other PRs are merged).
|
||||
* Create a new release from https://github.com/Card-Forge/forge/releases
|
||||
* Upload the package and its sha to the create new release page
|
||||
|
||||
|
||||
4. Marketing
|
||||
5. Marketing
|
||||
* Advertise in the #announcements channel in the Discord
|
||||
@@ -26,6 +26,8 @@ Mostly old-style interface with new age loading screen. Initial card scripting i
|
||||
|
||||
Supports over 10,000 cards. We start using a reconstructed UI that allows for better theming. And makes things feel less like an "Application" and more like a "Game"
|
||||
|
||||
## 2013-10 - ver 1.5.1 is the first with Commander
|
||||
|
||||
## 2014-05 - Android app is published via Maven
|
||||
|
||||
## 2015-04 - Network play is rudimentary but available
|
||||
|
||||
@@ -55,9 +55,8 @@ _**Download and unpack/install the package to their own new folder!**_
|
||||
## What if double-clicking doesn’t work?
|
||||
|
||||
Sometimes double-clicking will open the jar file in a different program.
|
||||
In Windows, you may need to right-click and open the properties to
|
||||
change the launching program to Java. This might be different in OSX or
|
||||
Linux systems (file permission related).
|
||||
In Windows, you may need to right-click and open the properties to change the launching program to Java.
|
||||
This might be different in OSX or Linux systems (file permission related).
|
||||
|
||||
## Manual Extraction (tar.bz2)
|
||||
|
||||
@@ -87,3 +86,10 @@ Linux systems (file permission related).
|
||||
- If adventure mode option does not show up;
|
||||
- check you're up to date with your version.
|
||||
- check in the settings that the "Selector Mode" is set to `Default`
|
||||
|
||||
# Gameplay
|
||||
|
||||
## Full Control
|
||||
|
||||
Right click/long tap on your player avatar:<br />
|
||||
This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
- [Equipments and Items](Adventure/Equipments-and-Items.md)
|
||||
- [Keyboard Shortcuts](Keyboard-Shortcuts.md)
|
||||
- [Controller Support](Adventure/GAMEPAD.md)
|
||||
- [Console and Cheats](Console-and-Cheats.md)
|
||||
- [Console and Cheats](Adventure/Console-and-Cheats.md)
|
||||
|
||||
- [Modding and content creation](Adventure/Modding.md)
|
||||
|
||||
@@ -43,12 +43,13 @@
|
||||
- [Costs](Card-scripting-API/Costs.md)
|
||||
- [Affected / Targets](Card-scripting-API/Targeting.md)
|
||||
- [Restrictions / Conditions](Card-scripting-API/Restrictions.md)
|
||||
- [Tutorial: Creating a custom Card](Card-scripting-API/Creating-a-Custom-Card.md)
|
||||
- [Tutorial: creating a custom card](Card-scripting-API/Creating-a-Custom-Card.md)
|
||||
|
||||
- [Development]((SM-autoconverted)-how-to-get-started-developing-forge.md)
|
||||
- [IntelliJ Setup](Development/IntelliJ-setup/IntelliJ-setup.md)
|
||||
- [Snapshots and Releases](Development/Snapshots-and-Releases.md)
|
||||
- [Android Builds](Development/Android-Builds.md)
|
||||
- [Dev Mode](Development/DevMode.md)
|
||||
- [Ownership](Development/ownership.md)
|
||||
- [Docker Container](docker-setup.md)
|
||||
|
||||
|
||||
@@ -1514,9 +1514,9 @@ public final class CMatchUI
|
||||
Set<FullControlFlag> controlFlags = getGameView().getGame().getPlayer(pv).getController().getFullControl();
|
||||
final String lblFullControl = Localizer.getInstance().getMessage("lblFullControl");
|
||||
final JPopupMenu menu = new JPopupMenu(lblFullControl);
|
||||
GuiUtils.addMenuItem(menu, lblFullControl, null, () -> {
|
||||
FOptionPane.showMessageDialog(Localizer.getInstance().getMessage("lblFullControlDetails"), lblFullControl);
|
||||
});
|
||||
menu.add(
|
||||
GuiUtils.createMenuItem("- " + lblFullControl + " -", null, null, false, true)
|
||||
);
|
||||
|
||||
addFullControlEntry(menu, "lblChooseCostOrder", FullControlFlag.ChooseCostOrder, controlFlags);
|
||||
addFullControlEntry(menu, "lblChooseCostReductionOrder", FullControlFlag.ChooseCostReductionOrderAndVariableAmount, controlFlags);
|
||||
|
||||
@@ -68,7 +68,6 @@ import forge.toolbox.FDisplayObject;
|
||||
import forge.toolbox.FOptionPane;
|
||||
import forge.trackable.TrackableCollection;
|
||||
import forge.util.ITriggerEvent;
|
||||
import forge.util.Localizer;
|
||||
import forge.util.MessageUtil;
|
||||
import forge.util.WaitCallback;
|
||||
import forge.util.collect.FCollectionView;
|
||||
@@ -751,10 +750,7 @@ public class MatchController extends AbstractGuiGame {
|
||||
FPopupMenu menu = new FPopupMenu() {
|
||||
@Override
|
||||
protected void buildMenu() {
|
||||
addItem(new FMenuItem(Forge.getLocalizer().getMessage("lblFullControl"),
|
||||
e -> {
|
||||
FOptionPane.showMessageDialog(Localizer.getInstance().getMessage("lblFullControlDetails"), "Full Control details");
|
||||
}));
|
||||
addItem(new FMenuItem("- " + Forge.getLocalizer().getMessage("lblFullControl") + " -", null, false));
|
||||
addItem(getFullControlMenuEntry("lblChooseCostOrder", FullControlFlag.ChooseCostOrder, controlFlags));
|
||||
addItem(getFullControlMenuEntry("lblChooseCostReductionOrder", FullControlFlag.ChooseCostReductionOrderAndVariableAmount, controlFlags));
|
||||
addItem(getFullControlMenuEntry("lblNoPaymentFromManaAbility", FullControlFlag.NoPaymentFromManaAbility, controlFlags));
|
||||
|
||||
@@ -1293,7 +1293,6 @@ lblMorph=Morph
|
||||
lblCraft=anzahl der herzustellenden Karten
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1300,7 +1300,6 @@ lblMorph=Mutar
|
||||
lblCraft=cuántas cartas crear
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1294,7 +1294,6 @@ lblMorph=Morph
|
||||
lblCraft=combien de cartes créer
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1291,7 +1291,6 @@ lblMorph=Metamorfosi
|
||||
lblCraft=quante carte creare
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1293,7 +1293,6 @@ lblMorph=変異
|
||||
lblCraft=カードを何枚作成するか
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1320,7 +1320,6 @@ lblMorph=Metamorfose
|
||||
lblCraft=quantas cartas criar
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
@@ -1297,7 +1297,6 @@ lblMorph=变身
|
||||
lblCraft=需要制作多少张卡片
|
||||
#PlayerControllerHuman.java
|
||||
lblFullControl=Full Control
|
||||
lblFullControlDetails=This feature lets you skip different helpers that streamline gameplay by avoiding somewhat annoying GUI interactions and instead use AI logic to make reasonable decisions for beginners.\nUseful for certain corner cases or if you want to challenge yourself with the Comprehensive Rules:\ne.g. the opposite cost order is needed if activating an animated "Halo Fountain" that's also tapped.
|
||||
lblChooseCostOrder=Choose cost order
|
||||
lblChooseCostReductionOrder=Choose cost reduction order & amount
|
||||
lblNoPaymentFromManaAbility=Don\'t attempt paying when generating mana
|
||||
|
||||
Reference in New Issue
Block a user