| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -67,7 +67,6 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public boolean isPlayerGuard = false; | 
					 | 
					 | 
					 | 
					    public boolean isPlayerGuard = false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public AbstractCharacter npcOwner; | 
					 | 
					 | 
					 | 
					    public AbstractCharacter npcOwner; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public long deathTime = 0; | 
					 | 
					 | 
					 | 
					    public long deathTime = 0; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public String nameOverride = ""; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public int equipmentSetID = 0; | 
					 | 
					 | 
					 | 
					    public int equipmentSetID = 0; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public int runeSet = 0; | 
					 | 
					 | 
					 | 
					    public int runeSet = 0; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public int bootySet = 0; | 
					 | 
					 | 
					 | 
					    public int bootySet = 0; | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -120,7 +119,9 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (contractID == 0) this.contract = null; | 
					 | 
					 | 
					 | 
					        if (contractID == 0) this.contract = null; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        else this.contract = DbManager.ContractQueries.GET_CONTRACT(contractID); | 
					 | 
					 | 
					 | 
					        else this.contract = DbManager.ContractQueries.GET_CONTRACT(contractID); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					        if(building != null && building.getOwner()!= null){ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            this.lastName = "the " + contract.getName(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        clearStatic(); | 
					 | 
					 | 
					 | 
					        clearStatic(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -253,13 +254,16 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            this.notEnemy = EnumBitSet.asEnumBitSet(rs.getLong("notEnemy"), Enum.MonsterType.class); | 
					 | 
					 | 
					 | 
					            this.notEnemy = EnumBitSet.asEnumBitSet(rs.getLong("notEnemy"), Enum.MonsterType.class); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            this.enemy = EnumBitSet.asEnumBitSet(rs.getLong("enemy"), Enum.MonsterType.class); | 
					 | 
					 | 
					 | 
					            this.enemy = EnumBitSet.asEnumBitSet(rs.getLong("enemy"), Enum.MonsterType.class); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					            this.firstName = rs.getString("mob_name"); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            if(this.firstName.isEmpty()){ | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					                this.firstName = this.mobBase.getFirstName(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (this.contract != null) { | 
					 | 
					 | 
					 | 
					            if (this.contract != null) { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                this.equipmentSetID = this.contract.getEquipmentSet(); | 
					 | 
					 | 
					 | 
					                this.equipmentSetID = this.contract.getEquipmentSet(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                this.nameOverride = this.getContract().getName(); | 
					 | 
					 | 
					 | 
					                this.lastName = this.getContract().getName(); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } else { | 
					 | 
					 | 
					 | 
					            } else { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                this.equipmentSetID = rs.getInt("equipmentSet"); | 
					 | 
					 | 
					 | 
					                this.equipmentSetID = rs.getInt("equipmentSet"); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                this.nameOverride = rs.getString("mob_name"); | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (rs.getString("fsm").length() > 1) this.BehaviourType = MobBehaviourType.valueOf(rs.getString("fsm")); | 
					 | 
					 | 
					 | 
					            if (rs.getString("fsm").length() > 1) this.BehaviourType = MobBehaviourType.valueOf(rs.getString("fsm")); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -328,14 +332,11 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        writer.putInt(0xFF665EC3); //Spi
 | 
					 | 
					 | 
					 | 
					        writer.putInt(0xFF665EC3); //Spi
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        writer.putInt(0); | 
					 | 
					 | 
					 | 
					        writer.putInt(0); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!mob.nameOverride.isEmpty()) { | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            writer.putString(mob.nameOverride); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            writer.putInt(0); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } else { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            writer.putString(mob.firstName); | 
					 | 
					 | 
					 | 
					            writer.putString(mob.firstName); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            writer.putString(mob.lastName); | 
					 | 
					 | 
					 | 
					            writer.putString(mob.lastName); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        writer.putInt(0); | 
					 | 
					 | 
					 | 
					        writer.putInt(0); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        writer.putInt(0); | 
					 | 
					 | 
					 | 
					        writer.putInt(0); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -706,10 +707,8 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                else if (guardCaptain.getRank() == 6) rank = MBServerStatics.VETERAN; | 
					 | 
					 | 
					 | 
					                else if (guardCaptain.getRank() == 6) rank = MBServerStatics.VETERAN; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                else rank = MBServerStatics.ELITE; | 
					 | 
					 | 
					 | 
					                else rank = MBServerStatics.ELITE; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                if (rank.isEmpty()) | 
					 | 
					 | 
					 | 
					                mob.firstName = NPC.getPirateName(mob.getMobBaseID()); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    mob.nameOverride = pirateName + " " + minionType.getRace() + " " + minionType.getName(); | 
					 | 
					 | 
					 | 
					                mob.lastName = rank + " " + minionType.getRace() + " " + minionType.getName(); | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                else | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                    mob.nameOverride = pirateName + " " + minionType.getRace() + " " + rank + " " + minionType.getName(); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            } | 
					 | 
					 | 
					 | 
					            } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -717,6 +716,7 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        // mob.setMob();
 | 
					 | 
					 | 
					 | 
					        // mob.setMob();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mob.isPlayerGuard = true; | 
					 | 
					 | 
					 | 
					        mob.isPlayerGuard = true; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        DbManager.addToCache(mob); | 
					 | 
					 | 
					 | 
					        DbManager.addToCache(mob); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        RuneBase guardRune = RuneBase.getRuneBase(252621); | 
					 | 
					 | 
					 | 
					        RuneBase guardRune = RuneBase.getRuneBase(252621); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -762,7 +762,8 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mob.spawnTime = 900; | 
					 | 
					 | 
					 | 
					        mob.spawnTime = 900; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mob.npcOwner = guardCaptain; | 
					 | 
					 | 
					 | 
					        mob.npcOwner = guardCaptain; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        mob.BehaviourType = Enum.MobBehaviourType.GuardMinion; | 
					 | 
					 | 
					 | 
					        mob.BehaviourType = Enum.MobBehaviourType.GuardMinion; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					        //add mob to zone set of captain
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        guardCaptain.getParentZone().zoneMobSet.add(mob); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return mob; | 
					 | 
					 | 
					 | 
					        return mob; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -887,11 +888,6 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            this.mana.set(this.manaMax); | 
					 | 
					 | 
					 | 
					            this.mana.set(this.manaMax); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            this.stamina.set(this.staminaMax); | 
					 | 
					 | 
					 | 
					            this.stamina.set(this.staminaMax); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (!this.nameOverride.isEmpty()) | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                this.firstName = this.nameOverride; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            else | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                this.firstName = this.mobBase.getFirstName(); | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            if (isPet) | 
					 | 
					 | 
					 | 
					            if (isPet) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					                this.setObjectTypeMask(MBServerStatics.MASK_PET | this.getTypeMasks()); | 
					 | 
					 | 
					 | 
					                this.setObjectTypeMask(MBServerStatics.MASK_PET | this.getTypeMasks()); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -916,7 +912,10 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.charItemManager.load(); | 
					 | 
					 | 
					 | 
					        this.charItemManager.load(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //load AI for general mobs.
 | 
					 | 
					 | 
					 | 
					        //load AI for general mobs.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					        if(this.contract != null && NPC.ISWallArcher(this.contract)){ | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            this.BehaviourType = MobBehaviourType.GuardWallArcher; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					            this.isPlayerGuard = true; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					        } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (isPet || isSiege || (isGuard && this.contract == null)) this.currentID = (--Mob.staticID); | 
					 | 
					 | 
					 | 
					        if (isPet || isSiege || (isGuard && this.contract == null)) this.currentID = (--Mob.staticID); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        else this.currentID = this.dbID; | 
					 | 
					 | 
					 | 
					        else this.currentID = this.dbID; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -1281,7 +1280,6 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void respawn() { | 
					 | 
					 | 
					 | 
					    public void respawn() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        //Commenting out Mob ID rotation.
 | 
					 | 
					 | 
					 | 
					        //Commenting out Mob ID rotation.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.despawned = false; | 
					 | 
					 | 
					 | 
					        this.despawned = false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.playerAgroMap.clear(); | 
					 | 
					 | 
					 | 
					        this.playerAgroMap.clear(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.setCombatTarget(null); | 
					 | 
					 | 
					 | 
					        this.setCombatTarget(null); | 
				
			
			
		
	
	
		
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
					 | 
					@ -1300,7 +1298,7 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.recalculateStats(); | 
					 | 
					 | 
					 | 
					        this.recalculateStats(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        this.setHealth(this.healthMax); | 
					 | 
					 | 
					 | 
					        this.setHealth(this.healthMax); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					        this.region = BuildingManager.GetRegion(this.building, bindLoc.x, bindLoc.y, bindLoc.z); | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        if (!this.isSiege && !this.isPlayerGuard && contract == null) loadInventory(); | 
					 | 
					 | 
					 | 
					        if (!this.isSiege && !this.isPlayerGuard && contract == null) loadInventory(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -1987,7 +1985,7 @@ public class Mob extends AbstractIntelligenceAgent { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public String getNameOverride() { | 
					 | 
					 | 
					 | 
					    public String getNameOverride() { | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        return nameOverride; | 
					 | 
					 | 
					 | 
					        return firstName + "  " + lastName; | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    public void processUpgradeMob(PlayerCharacter player) { | 
					 | 
					 | 
					 | 
					    public void processUpgradeMob(PlayerCharacter player) { | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |