|
|
@ -35,7 +35,6 @@ import java.util.ArrayList; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.HashMap; |
|
|
|
import java.util.HashSet; |
|
|
|
import java.util.HashSet; |
|
|
|
import java.util.concurrent.ConcurrentHashMap; |
|
|
|
import java.util.concurrent.ConcurrentHashMap; |
|
|
|
import java.util.concurrent.CopyOnWriteArrayList; |
|
|
|
|
|
|
|
import java.util.concurrent.locks.ReentrantReadWriteLock; |
|
|
|
import java.util.concurrent.locks.ReentrantReadWriteLock; |
|
|
|
|
|
|
|
|
|
|
|
import static engine.net.client.msg.ErrorPopupMsg.sendErrorPopup; |
|
|
|
import static engine.net.client.msg.ErrorPopupMsg.sendErrorPopup; |
|
|
@ -873,7 +872,7 @@ public class NPC extends AbstractCharacter { |
|
|
|
// If NPC is a vendor then configure ForgeManager support
|
|
|
|
// If NPC is a vendor then configure ForgeManager support
|
|
|
|
|
|
|
|
|
|
|
|
if (this.contract.isTrainer() == false) |
|
|
|
if (this.contract.isTrainer() == false) |
|
|
|
ForgeManager.vendorWorkOrderLookup.computeIfAbsent(this, k -> new CopyOnWriteArrayList<>()); |
|
|
|
ForgeManager.vendorWorkOrderLookup.computeIfAbsent(this, k -> ConcurrentHashMap.newKeySet()); |
|
|
|
|
|
|
|
|
|
|
|
this.symbol = this.contract.getIconID(); |
|
|
|
this.symbol = this.contract.getIconID(); |
|
|
|
this.modTypeTable = this.contract.getNPCModTypeTable(); |
|
|
|
this.modTypeTable = this.contract.getNPCModTypeTable(); |
|
|
|