mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-08-02 03:15:52 -04:00
MobileTemplate weapon refactor
This commit is contained in:
@@ -41,6 +41,7 @@ import java.util.concurrent.ScheduledExecutorService;
|
||||
import resources.common.collidables.CollidableCircle;
|
||||
import resources.datatables.Options;
|
||||
import resources.datatables.PvpStatus;
|
||||
import resources.datatables.WeaponType;
|
||||
import resources.objects.cell.CellObject;
|
||||
import resources.objects.creature.CreatureObject;
|
||||
import resources.objects.tangible.TangibleObject;
|
||||
@@ -129,42 +130,33 @@ public class SpawnService {
|
||||
creature.setLevel(level);
|
||||
}
|
||||
|
||||
|
||||
//WeaponObject defaultWeapon = (mobileTemplate.getWeaponTemplates().size() > 0) ? (WeaponObject) core.objectService.createObject(mobileTemplate.getWeaponTemplates().get(new Random().nextInt(mobileTemplate.getWeaponTemplates().size())), creature.getPlanet()) : (WeaponObject) core.objectService.createObject("object/weapon/creature/shared_creature_default_weapon.iff", creature.getPlanet());
|
||||
|
||||
WeaponObject defaultWeapon = null;
|
||||
Vector<WeaponTemplate> weaponTemplates = mobileTemplate.getWeaponTemplateVector();
|
||||
if (weaponTemplates.size()==0){
|
||||
int rnd = new Random().nextInt(weaponTemplates.size());
|
||||
|
||||
if (weaponTemplates.size() == 0){
|
||||
defaultWeapon = (WeaponObject) core.objectService.createObject("object/weapon/creature/shared_creature_default_weapon.iff", creature.getPlanet());
|
||||
defaultWeapon.setAttackSpeed(1.0F);
|
||||
defaultWeapon.setWeaponType(6);
|
||||
defaultWeapon.setWeaponType(WeaponType.UNARMED);
|
||||
defaultWeapon.setDamageType("kinetic");
|
||||
|
||||
defaultWeapon.setMaxRange(5);
|
||||
} else {
|
||||
int rnd = new Random().nextInt(weaponTemplates.size());
|
||||
defaultWeapon = (WeaponObject) core.objectService.createObject(weaponTemplates.get(rnd).getTemplate(), creature.getPlanet());
|
||||
defaultWeapon = (WeaponObject) core.objectService.createObject(weaponTemplates.get(rnd).getTemplate(), creature.getPlanet());
|
||||
defaultWeapon.setAttackSpeed(weaponTemplates.get(rnd).getAttackSpeed());
|
||||
defaultWeapon.setWeaponType(weaponTemplates.get(rnd).getWeaponType());
|
||||
defaultWeapon.setMaxRange(weaponTemplates.get(rnd).getMaxRange());
|
||||
defaultWeapon.setDamageType(weaponTemplates.get(rnd).getDamageType());
|
||||
}
|
||||
|
||||
|
||||
// QA
|
||||
if (mobileTemplate.getAttackSpeed()==0)
|
||||
System.err.println("Error in mobile spawn template for " + mobileTemplate.getCreatureName() + ". Missing attackspeed parameter");
|
||||
if (mobileTemplate.getAttackRange()==0)
|
||||
System.err.println("Error in mobile spawn template for " + mobileTemplate.getCreatureName() + ". Missing attackrange parameter");
|
||||
|
||||
defaultWeapon.setAttackSpeed(mobileTemplate.getAttackSpeed());
|
||||
defaultWeapon.setWeaponType(mobileTemplate.getWeaponType());
|
||||
defaultWeapon.setDamageType("@obj_attr_n:armor_eff_kinetic");
|
||||
defaultWeapon.setStringAttribute("cat_wpn_damage.damage", "0-0");
|
||||
if(mobileTemplate.getAttackRange() > 0)
|
||||
defaultWeapon.setMaxRange(mobileTemplate.getAttackRange());
|
||||
if(mobileTemplate.getMaxDamage() != 0) {
|
||||
defaultWeapon.setMaxDamage(mobileTemplate.getMaxDamage());
|
||||
defaultWeapon.setMinDamage(mobileTemplate.getMinDamage());
|
||||
if (weaponTemplates.get(rnd).getMinDamage() != 0 && weaponTemplates.get(rnd).getMaxDamage() != 0) {
|
||||
defaultWeapon.setMaxDamage(weaponTemplates.get(rnd).getMinDamage());
|
||||
defaultWeapon.setMinDamage(weaponTemplates.get(rnd).getMaxDamage());
|
||||
} else {
|
||||
defaultWeapon.setMaxDamage(creature.getLevel() * 24);
|
||||
defaultWeapon.setMinDamage(creature.getLevel() * 22);
|
||||
}
|
||||
|
||||
creature.addObjectToEquipList(defaultWeapon);
|
||||
creature.add(defaultWeapon);
|
||||
creature.setWeaponId(defaultWeapon.getObjectID());
|
||||
|
||||
Reference in New Issue
Block a user