MCPcopy Create free account
hub / github.com/PCGen/pcgen / getToken

Method getToken

code/src/java/pcgen/io/exporttoken/WeaponToken.java:120–195  ·  view source on GitHub ↗
(String tokenSource, PlayerCharacter pc, ExportHandler eh)

Source from the content-addressed store, hash-verified

118 }
119
120 @Override
121 public String getToken(String tokenSource, PlayerCharacter pc, ExportHandler eh)
122 {
123 StringTokenizer aTok = new StringTokenizer(tokenSource, ".", false);
124 //Weapon Token
125 aTok.nextToken();
126
127 int merge = Constants.MERGE_ALL;
128 int weapon;
129 Equipment eq;
130
131 // First check to see if there is a MERGE token
132 String token = aTok.nextToken();
133 switch (token)
134 {
135 case "MERGENONE" -> {
136 merge = Constants.MERGE_NONE;
137 token = aTok.nextToken();
138 }
139 case "MERGELOC" -> {
140 merge = Constants.MERGE_LOCATION;
141 token = aTok.nextToken();
142 }
143 case "MERGEALL" -> {
144 merge = Constants.MERGE_ALL;
145 token = aTok.nextToken();
146 }
147 }
148
149 List<Equipment> weaponList = pc.getExpandedWeapons(merge);
150
151 switch (token)
152 {
153 case "ALL" -> token = aTok.nextToken();
154 case "EQUIPPED" -> {
155 // remove all weapons which are not equipped from list
156 weaponList.removeIf(equipment -> !equipment.isEquipped());
157 token = aTok.nextToken();
158 }
159 case "NOT_EQUIPPED" -> {
160 // remove all weapons which are equipped from list
161 weaponList.removeIf(Equipment::isEquipped);
162 token = aTok.nextToken();
163 }
164 case "CARRIED" -> {
165 // remove all weapons which are not carried from list
166 weaponList.removeIf(equipment -> equipment.numberCarried().intValue() == 0);
167 token = aTok.nextToken();
168 }
169 case "NOT_CARRIED" -> {
170 // remove all weapons which are carried from list
171 weaponList.removeIf(equipment -> equipment.numberCarried().intValue() > 0);
172 token = aTok.nextToken();
173 }
174 }
175
176 weapon = getIntToken(token, 0);
177 if (weapon < weaponList.size())

Callers 13

testDoubleWeaponMethod · 0.95
testBastardSwordMethod · 0.95
testLargeLongSwordMethod · 0.95
testLargeWpnBonusMethod · 0.95
testNaturalWeaponMethod · 0.95
testWpnFinesseMethod · 0.95
testWpnReachMethod · 0.95
testAmmunitionMethod · 0.95
testTwohandedEquippedMethod · 0.95
testFeatBonusMethod · 0.95

Calls 14

getWeaponTokenMethod · 0.95
nextTokenMethod · 0.80
getExpandedWeaponsMethod · 0.80
removeIfMethod · 0.80
intValueMethod · 0.80
numberCarriedMethod · 0.80
getIntTokenMethod · 0.80
getExistsOnlyMethod · 0.80
setNoMoreItemsMethod · 0.80
getCheckBeforeMethod · 0.80
setCanWriteMethod · 0.80
sizeMethod · 0.65

Tested by 13

testDoubleWeaponMethod · 0.76
testBastardSwordMethod · 0.76
testLargeLongSwordMethod · 0.76
testLargeWpnBonusMethod · 0.76
testNaturalWeaponMethod · 0.76
testWpnFinesseMethod · 0.76
testWpnReachMethod · 0.76
testAmmunitionMethod · 0.76
testTwohandedEquippedMethod · 0.76
testFeatBonusMethod · 0.76