- It should be now possible to use "Trophy" cards in "My cards" tournaments and leagues (starting with any newly created

league).
- Removed "words you can/can't say" from Code of Conduct page.
- All 3 "Rúmils" now have the same name.
- "Force of Harad" now has a twilight cost of 4.
- Changed card name from "Mortal Man" to "Mortal Men".
- "Old Noakes" should now only trigger if Shadow card caused the discard.
This commit is contained in:
marcins78
2014-07-23 10:09:44 +00:00
parent 2078c03d31
commit d824db22cc
13 changed files with 92 additions and 96 deletions

View File

@@ -13,7 +13,11 @@ import com.gempukku.lotro.game.CardCollection;
import com.gempukku.lotro.game.Player;
import com.gempukku.lotro.game.formats.LotroFormatLibrary;
import com.gempukku.lotro.hall.HallServer;
import com.gempukku.lotro.league.*;
import com.gempukku.lotro.league.LeagueData;
import com.gempukku.lotro.league.LeagueSerieData;
import com.gempukku.lotro.league.LeagueService;
import com.gempukku.lotro.league.NewConstructedLeagueData;
import com.gempukku.lotro.league.NewSealedLeagueData;
import com.gempukku.lotro.service.AdminService;
import com.gempukku.lotro.tournament.TournamentService;
import org.jboss.netty.channel.MessageEvent;
@@ -258,10 +262,9 @@ public class AdminRequestHandler extends LotroServerRequestHandler implements Ur
}
private CollectionType createCollectionType(String collectionType) {
if (collectionType.equals(CollectionType.MY_CARDS.getCode()))
return CollectionType.MY_CARDS;
if (collectionType.equals(CollectionType.TROPHY.getCode()))
return CollectionType.TROPHY;
final CollectionType result = CollectionType.getCollectionTypeByCode(collectionType);
if (result != null)
return result;
return _leagueService.getCollectionTypeByCode(collectionType);
}

View File

@@ -10,7 +10,11 @@ import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.db.vo.CollectionType;
import com.gempukku.lotro.db.vo.League;
import com.gempukku.lotro.game.*;
import com.gempukku.lotro.game.CardCollection;
import com.gempukku.lotro.game.LotroCardBlueprint;
import com.gempukku.lotro.game.LotroCardBlueprintLibrary;
import com.gempukku.lotro.game.Player;
import com.gempukku.lotro.game.SortAndFilterCards;
import com.gempukku.lotro.game.formats.LotroFormatLibrary;
import com.gempukku.lotro.league.LeagueSerieData;
import com.gempukku.lotro.league.LeagueService;
@@ -201,10 +205,9 @@ public class CollectionRequestHandler extends LotroServerRequestHandler implemen
}
private CollectionType createCollectionType(String collectionType) {
if (collectionType.equals(CollectionType.MY_CARDS.getCode()))
return CollectionType.MY_CARDS;
if (collectionType.equals(CollectionType.TROPHY.getCode()))
return CollectionType.TROPHY;
final CollectionType result = CollectionType.getCollectionTypeByCode(collectionType);
if (result != null)
return result;
return _leagueService.getCollectionTypeByCode(collectionType);
}

View File

@@ -1,4 +1,13 @@
<pre style="font-size:80%">
<b>23 July 2014</b>
- It should be now possible to use "Trophy" cards in "My cards" tournaments and leagues (starting with any newly created
league).
- Removed "words you can/can't say" from Code of Conduct page.
- All 3 "Rúmils" now have the same name.
- "Force of Harad" now has a twilight cost of 4.
- Changed card name from "Mortal Man" to "Mortal Men".
- "Old Noakes" should now only trigger if Shadow card caused the discard.
<b>16 May 2014</b>
- "Sting of Shelob" now correctly kills the companion.

View File

@@ -80,62 +80,3 @@
forums will not advance your appellant case. If you choose to use the appeal system, please make sure to check your
spam folder for an email.</p>
<p>All appeals are normally seen within 48 hours of your appeal, except on weekends.</p>
<p>A list of controversial words that are allowed in chat:</p>
<ul>
<li>Hell</li>
<li>Damn</li>
<li>Douche (when not being used as an insult)</li>
<li>Crap</li>
<li>Ass / Arse and derivatives (when not being used as an insult towards another person)</li>
<li>Bitch (true dictionary definition, verb usage and when not being used towards another person)</li>
<li>Bastard (dictionary definition and some verb usage)</li>
<li>Penis / Vagina / any proper term for genitalia (only in a sheer biological sense and discussion which generally has no business on Gemp, so these will be heavily moderated - use at your own risk)</li>
</ul>
<p>A list of controversial words that are NOT allowed in chat:</p>
<ul>
<li>Prick (except when used as a proper noun or a verb)</li>
<li>Wanker / Wank / Wanking / Fap / Fapping / Jacking off / words that mean masturbating that aren't "MASTURBATING"</li>
<li>Handjob / Blowjob</li>
<li>Tosser</li>
<li>Fuck / Fucker (or other references to sexual activity - we don't want to know what is going on in your bedroom or you speculating what is going on in others')</li>
<li>Cunt</li>
<li>Twat</li>
<li>Retarded (when directed at someone or something - demeaning)</li>
<li>Nigger / Chink / Gook / Coon / Cracker / Honkey (any racial slur)</li>
<li>Gay / Ghey / Homo / Dyke / Poofters (used in derogatory fashion)</li>
<li>Fag / Faggot (when used in a derogatory fashion)</li>
<li>Shit / Shite (or other strong scatological connotations - we don't need or want potty humor on this site)</li>
<li>Cock/Dick (when used as slang for genitalia)</li>
<li>Tits / Titties</li>
<li>Pussy (when referring to anything other than in the feline sense)</li>
<li>Bitch (referencing another person) (also Bee-yotch, or Bi-otch, or Bitchslap)</li>
<li>Son of a Bitch</li>
<li>Bastard (when used as an insult to any person)</li>
<li>Whore (when used as an insult to any person)</li>
<li>Slut / Ho</li>
<li>Asshole / Arsehole</li>
<li>Balls (when used as a flame towards someone else. e.g. saying you'll kick person X in the balls.)</li>
</ul>

View File

@@ -196,7 +196,7 @@
Collection:
<select name="collectionType">
<option value="default">All cards</option>
<option value="permanent">My cards</option>
<option value="permanent+trophy">My cards</option>
</select><br/>
<div class="series">

View File

@@ -28,7 +28,7 @@ import java.util.List;
*/
public class Card11_083 extends AbstractMinion {
public Card11_083() {
super(3, 11, 3, 4, Race.MAN, Culture.MEN, "Force of Harad");
super(4, 11, 3, 4, Race.MAN, Culture.MEN, "Force of Harad");
}
@Override

View File

@@ -3,7 +3,11 @@ package com.gempukku.lotro.cards.set17.elven;
import com.gempukku.lotro.cards.AbstractCompanion;
import com.gempukku.lotro.cards.PlayConditions;
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Keyword;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
@@ -34,7 +38,7 @@ import java.util.List;
*/
public class Card17_012 extends AbstractCompanion {
public Card17_012() {
super(2, 6, 3, 6, Culture.ELVEN, Race.ELF, null, "Rumil", "Silvan Elf", true);
super(2, 6, 3, 6, Culture.ELVEN, Race.ELF, null, "Rúmil", "Silvan Elf", true);
addKeyword(Keyword.HUNTER, 1);
}

View File

@@ -2,7 +2,11 @@ package com.gempukku.lotro.cards.set3.shire;
import com.gempukku.lotro.cards.AbstractAlly;
import com.gempukku.lotro.cards.effects.choose.ChooseAndDiscardCardsFromPlayEffect;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.common.Block;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
@@ -34,7 +38,8 @@ public class Card3_111 extends AbstractAlly {
public List<OptionalTriggerAction> getOptionalAfterTriggers(String playerId, LotroGame game, EffectResult effectResult, PhysicalCard self) {
if (effectResult.getType() == EffectResult.Type.FOR_EACH_DISCARDED_FROM_HAND) {
DiscardCardFromHandResult discardCardsResult = (DiscardCardFromHandResult) effectResult;
if (discardCardsResult.isForced() && discardCardsResult.getHandPlayerId().equals(playerId)) {
if (discardCardsResult.isForced() && discardCardsResult.getHandPlayerId().equals(playerId)
&& Filters.and(Side.SHADOW).accepts(game.getGameState(), game.getModifiersQuerying(), discardCardsResult.getSource())) {
OptionalTriggerAction action = new OptionalTriggerAction(self);
action.appendEffect(
new ChooseAndDiscardCardsFromPlayEffect(action, playerId, 1, 1, Filters.or(CardType.MINION, Filters.and(Side.SHADOW, CardType.CONDITION))));

View File

@@ -4,7 +4,12 @@ import com.gempukku.lotro.cards.AbstractEvent;
import com.gempukku.lotro.cards.actions.PlayEventAction;
import com.gempukku.lotro.cards.effects.choose.ChooseAndAddUntilEOPStrengthBonusEffect;
import com.gempukku.lotro.cards.effects.choose.ChooseAndExertCharactersEffect;
import com.gempukku.lotro.common.*;
import com.gempukku.lotro.common.CardType;
import com.gempukku.lotro.common.Culture;
import com.gempukku.lotro.common.Phase;
import com.gempukku.lotro.common.Race;
import com.gempukku.lotro.common.Side;
import com.gempukku.lotro.common.Token;
import com.gempukku.lotro.filters.Filters;
import com.gempukku.lotro.game.PhysicalCard;
import com.gempukku.lotro.game.state.LotroGame;
@@ -19,7 +24,7 @@ import com.gempukku.lotro.game.state.LotroGame;
*/
public class Card6_053 extends AbstractEvent {
public Card6_053() {
super(Side.FREE_PEOPLE, 0, Culture.GONDOR, "Mortal Man", Phase.SKIRMISH);
super(Side.FREE_PEOPLE, 0, Culture.GONDOR, "Mortal Men", Phase.SKIRMISH);
}
@Override

View File

@@ -4,7 +4,14 @@ import com.gempukku.lotro.cards.CardSets;
import com.gempukku.lotro.chat.ChatServer;
import com.gempukku.lotro.collection.CollectionsManager;
import com.gempukku.lotro.collection.TransferDAO;
import com.gempukku.lotro.db.*;
import com.gempukku.lotro.db.CollectionDAO;
import com.gempukku.lotro.db.DeckDAO;
import com.gempukku.lotro.db.GameHistoryDAO;
import com.gempukku.lotro.db.IpBanDAO;
import com.gempukku.lotro.db.LeagueDAO;
import com.gempukku.lotro.db.LeagueMatchDAO;
import com.gempukku.lotro.db.LeagueParticipationDAO;
import com.gempukku.lotro.db.PlayerDAO;
import com.gempukku.lotro.game.GameHistoryService;
import com.gempukku.lotro.game.GameRecorder;
import com.gempukku.lotro.game.LotroCardBlueprintLibrary;
@@ -17,7 +24,12 @@ import com.gempukku.lotro.packs.DraftPackStorage;
import com.gempukku.lotro.packs.PacksStorage;
import com.gempukku.lotro.service.AdminService;
import com.gempukku.lotro.service.LoggedUserHolder;
import com.gempukku.lotro.tournament.*;
import com.gempukku.lotro.tournament.PairingMechanismRegistry;
import com.gempukku.lotro.tournament.TournamentDAO;
import com.gempukku.lotro.tournament.TournamentMatchDAO;
import com.gempukku.lotro.tournament.TournamentPlayerDAO;
import com.gempukku.lotro.tournament.TournamentPrizeSchemeRegistry;
import com.gempukku.lotro.tournament.TournamentService;
import java.lang.reflect.Type;
import java.util.Map;
@@ -97,7 +109,6 @@ public class ServerBuilder {
extract(objectMap, LotroCardBlueprintLibrary.class),
extract(objectMap, LotroFormatLibrary.class),
extract(objectMap, CollectionsManager.class),
extract(objectMap, IpBanDAO.class),
extract(objectMap, AdminService.class),
tournamentPrizeSchemeRegistry,
pairingMechanismRegistry,

View File

@@ -1,13 +1,31 @@
package com.gempukku.lotro.db.vo;
import java.util.HashMap;
import java.util.Map;
public final class CollectionType {
public final static CollectionType MY_CARDS = new CollectionType("permanent", "My cards");
public final static CollectionType TROPHY = new CollectionType("trophy", "Trophies");
public final static CollectionType ALL_CARDS = new CollectionType("default", "All cards");
public final static CollectionType OWNED_TOURNAMENT_CARDS = new CollectionType("permanent+trophy", "All cards");
private final String _code;
private final String _fullName;
private final static Map<String, CollectionType> DEFINED_COLLECTION_TYPES = new HashMap<String, CollectionType>();
static {
DEFINED_COLLECTION_TYPES.put(MY_CARDS.getCode(), MY_CARDS);
DEFINED_COLLECTION_TYPES.put(TROPHY.getCode(), TROPHY);
DEFINED_COLLECTION_TYPES.put(ALL_CARDS.getCode(), ALL_CARDS);
DEFINED_COLLECTION_TYPES.put(OWNED_TOURNAMENT_CARDS.getCode(), OWNED_TOURNAMENT_CARDS);
}
public static CollectionType getCollectionTypeByCode(String code) {
return DEFINED_COLLECTION_TYPES.get(code);
}
public CollectionType(String code, String fullName) {
_code = code;
_fullName = fullName;

View File

@@ -11,7 +11,6 @@ import com.gempukku.lotro.chat.ChatCommandErrorException;
import com.gempukku.lotro.chat.ChatRoomMediator;
import com.gempukku.lotro.chat.ChatServer;
import com.gempukku.lotro.collection.CollectionsManager;
import com.gempukku.lotro.db.IpBanDAO;
import com.gempukku.lotro.db.vo.CollectionType;
import com.gempukku.lotro.db.vo.League;
import com.gempukku.lotro.draft.Draft;
@@ -74,11 +73,11 @@ public class HallServer extends AbstractServer {
private LotroServer _lotroServer;
private PairingMechanismRegistry _pairingMechanismRegistry;
private CardSets _cardSets;
private IpBanDAO _ipBanDAO;
private AdminService _adminService;
private TournamentPrizeSchemeRegistry _tournamentPrizeSchemeRegistry;
private CollectionType _allCardsCollectionType = CollectionType.ALL_CARDS;
private CollectionType _defaultCollectionType = CollectionType.ALL_CARDS;
private CollectionType _tournamentCollectionType = CollectionType.OWNED_TOURNAMENT_CARDS;
private int _nextTableId = 1;
@@ -102,7 +101,7 @@ public class HallServer extends AbstractServer {
public HallServer(LotroServer lotroServer, ChatServer chatServer, LeagueService leagueService, TournamentService tournamentService, LotroCardBlueprintLibrary library,
LotroFormatLibrary formatLibrary, CollectionsManager collectionsManager,
IpBanDAO ipBanDAO, AdminService adminService,
AdminService adminService,
TournamentPrizeSchemeRegistry tournamentPrizeSchemeRegistry,
PairingMechanismRegistry pairingMechanismRegistry, CardSets cardSets) {
_lotroServer = lotroServer;
@@ -112,7 +111,6 @@ public class HallServer extends AbstractServer {
_library = library;
_formatLibrary = formatLibrary;
_collectionsManager = collectionsManager;
_ipBanDAO = ipBanDAO;
_adminService = adminService;
_tournamentPrizeSchemeRegistry = tournamentPrizeSchemeRegistry;
_pairingMechanismRegistry = pairingMechanismRegistry;
@@ -168,16 +166,16 @@ public class HallServer extends AbstractServer {
try {
_tournamentQueues.put("fotr_daily_eu", new RecurringScheduledQueue(sdf.parse("2013-01-15 19:30:00").getTime(), _repeatTournaments, "fotrDailyEu-", "Daily Gondor Fellowship Block", 0,
true, CollectionType.MY_CARDS, tournamentService, _tournamentPrizeSchemeRegistry.getTournamentPrizes(cardSets, "daily"), _pairingMechanismRegistry.getPairingMechanism("swiss-3"),
true, _tournamentCollectionType, tournamentService, _tournamentPrizeSchemeRegistry.getTournamentPrizes(cardSets, "daily"), _pairingMechanismRegistry.getPairingMechanism("swiss-3"),
"fotr_block", 4));
_tournamentQueues.put("fotr_daily_us", new RecurringScheduledQueue(sdf.parse("2013-01-16 00:30:00").getTime(), _repeatTournaments, "fotrDailyUs-", "Daily Rohan Fellowship Block", 0,
true, CollectionType.MY_CARDS, tournamentService, _tournamentPrizeSchemeRegistry.getTournamentPrizes(cardSets, "daily"), _pairingMechanismRegistry.getPairingMechanism("swiss-3"),
true, _tournamentCollectionType, tournamentService, _tournamentPrizeSchemeRegistry.getTournamentPrizes(cardSets, "daily"), _pairingMechanismRegistry.getPairingMechanism("swiss-3"),
"fotr_block", 4));
_tournamentQueues.put("movie_daily_eu", new RecurringScheduledQueue(sdf.parse("2013-01-16 19:30:00").getTime(), _repeatTournaments, "movieDailyEu-", "Daily Gondor Movie Block", 0,
true, CollectionType.MY_CARDS, tournamentService, _tournamentPrizeSchemeRegistry.getTournamentPrizes(cardSets, "daily"), _pairingMechanismRegistry.getPairingMechanism("swiss-3"),
true, _tournamentCollectionType, tournamentService, _tournamentPrizeSchemeRegistry.getTournamentPrizes(cardSets, "daily"), _pairingMechanismRegistry.getPairingMechanism("swiss-3"),
"movie", 4));
_tournamentQueues.put("movie_daily_us", new RecurringScheduledQueue(sdf.parse("2013-01-17 00:30:00").getTime(), _repeatTournaments, "movieDailyUs-", "Daily Rohan Movie Block", 0,
true, CollectionType.MY_CARDS, tournamentService, _tournamentPrizeSchemeRegistry.getTournamentPrizes(cardSets, "daily"), _pairingMechanismRegistry.getPairingMechanism("swiss-3"),
true, _tournamentCollectionType, tournamentService, _tournamentPrizeSchemeRegistry.getTournamentPrizes(cardSets, "daily"), _pairingMechanismRegistry.getPairingMechanism("swiss-3"),
"movie", 4));
} catch (ParseException exp) {
// Ignore, can't happen
@@ -249,7 +247,7 @@ public class HallServer extends AbstractServer {
try {
League league = null;
LeagueSerieData leagueSerie = null;
CollectionType collectionType = _allCardsCollectionType;
CollectionType collectionType = _defaultCollectionType;
LotroFormat format = _formatLibrary.getHallFormats().get(type);
if (format == null) {

View File

@@ -24,12 +24,11 @@ public class NewConstructedLeagueData implements LeagueData {
String[] params = parameters.split(",");
int start = Integer.parseInt(params[0]);
if (params[1].equals("default"))
_collectionType = CollectionType.ALL_CARDS;
else if (params[1].equals(CollectionType.MY_CARDS.getCode()))
_collectionType = CollectionType.MY_CARDS;
else
throw new IllegalArgumentException("Unkown collection type");
_collectionType = CollectionType.getCollectionTypeByCode(params[1]);
if (_collectionType == null)
throw new IllegalArgumentException("Unknown collection type");
int series = Integer.parseInt(params[3]);
int serieStart = start;