mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-10-08 23:12:57 -04:00
Refactored Starter Clothing, Added CustomizationDelta, basework for Image Design
(Bug) Fixed hair and items on char create not being added to equip list (Code) Minor change to BuffBuilderMessage (Code) Added base work for Image Design (Code) Refactored how starter clothing is assigned (Code) Added delta for customization data on tangible objects (Code) Created ProfessionTemplateVisitor for profession template iff's
This commit is contained in:
@@ -33,6 +33,9 @@ import main.NGECore;
|
||||
import org.apache.mina.core.buffer.IoBuffer;
|
||||
import org.apache.mina.core.session.IoSession;
|
||||
|
||||
import clientdata.visitors.ProfessionTemplateVisitor;
|
||||
import engine.clientdata.ClientFileManager;
|
||||
import engine.clientdata.visitors.DatatableVisitor;
|
||||
import engine.clients.Client;
|
||||
import engine.resources.common.CRC;
|
||||
import engine.resources.container.CreatureContainerPermissions;
|
||||
@@ -279,6 +282,7 @@ public class CharacterService implements INetworkDispatch {
|
||||
if(clientCreateCharacter.getHairCustomization().length > 0)
|
||||
hair.setCustomization(clientCreateCharacter.getHairCustomization());
|
||||
object._add(hair);
|
||||
object.addObjectToEquipList(hair);
|
||||
}
|
||||
|
||||
TangibleObject inventory = (TangibleObject) core.objectService.createObject("object/tangible/inventory/shared_character_inventory.iff", object.getPlanet());
|
||||
@@ -324,8 +328,9 @@ public class CharacterService implements INetworkDispatch {
|
||||
|
||||
object._add(defaultWeapon);
|
||||
object.setWeaponId(defaultWeapon.getObjectID());
|
||||
core.scriptService.callScript("scripts/", "starterclothing", "CreateStarterClothing", core, object, clientCreateCharacter.getStarterProfession(), clientCreateCharacter.getRaceTemplate());
|
||||
core.scriptService.callScript("scripts/", "demo", "CreateStartingCharacter", core, object);
|
||||
|
||||
createStarterClothing(object, sharedRaceTemplate, clientCreateCharacter.getStarterProfession());
|
||||
//core.scriptService.callScript("scripts/", "demo", "CreateStartingCharacter", core, object);
|
||||
|
||||
core.getCreatureODB().put(object, Long.class, CreatureObject.class, object.getTransaction());
|
||||
// might not need to commit transaction but better safe than sorry
|
||||
@@ -524,5 +529,21 @@ public class CharacterService implements INetworkDispatch {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void createStarterClothing(CreatureObject creature, String raceTemplate, String profession) {
|
||||
try {
|
||||
ProfessionTemplateVisitor visitor = ClientFileManager.loadFile("creation/profession_defaults_" + profession + ".iff", ProfessionTemplateVisitor.class);
|
||||
TangibleObject inventory = (TangibleObject) creature.getSlottedObject("inventory");
|
||||
|
||||
if (inventory == null)
|
||||
return;
|
||||
|
||||
for(String item : visitor.getItems(raceTemplate)) {
|
||||
TangibleObject createdItem = (TangibleObject) core.objectService.createObject(item, creature.getPlanet());
|
||||
creature._add(createdItem);
|
||||
creature.addObjectToEquipList(createdItem);
|
||||
}
|
||||
}
|
||||
catch (InstantiationException | IllegalAccessException e) { e.printStackTrace();}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user