/** * Adds to, not sets. Anything that adds to instead of setting needs a clear function as well. * * @param relChange * @throws GameParseException */ @GameProperty(xmlProperty = true, gameProperty = true, adds = true) public void setRelationshipChange(final String relChange) throws GameParseException { final String[] s = relChange.split(":"); if (s.length != 3) throw new GameParseException( "Invalid relationshipChange declaration: " + relChange + " \n Use: player1:player2:newRelation\n" + thisErrorMsg()); if (getData().getPlayerList().getPlayerID(s[0]) == null) throw new GameParseException( "Invalid relationshipChange declaration: " + relChange + " \n player: " + s[0] + " unknown in: " + getName() + thisErrorMsg()); if (getData().getPlayerList().getPlayerID(s[1]) == null) throw new GameParseException( "Invalid relationshipChange declaration: " + relChange + " \n player: " + s[1] + " unknown in: " + getName() + thisErrorMsg()); if (!Matches.isValidRelationshipName(getData()).match(s[2])) throw new GameParseException( "Invalid relationshipChange declaration: " + relChange + " \n relationshipType: " + s[2] + " unknown in: " + getName() + thisErrorMsg()); m_relationshipChange.add(relChange); }