Merge conflict resolve

This commit is contained in:
CharonInferar
2014-08-09 18:17:01 +02:00
1452 changed files with 14987 additions and 14349 deletions

View File

@@ -61,6 +61,6 @@ Now your changes will be reviewed by other developers and once the changes are a
For more information please visit the wiki: https://github.com/ProjectSWGCore/NGECore2/wiki
Documentation can be found here: http://projectswgcore.github.io/NGECore2/doc/
Documentation can be found here: http://projectswg.com/doc/
Please prefix all commits with Added, Changed, Removed or Fixed. If you don't have enough room for multiple changes, use the extended description. Try not to bundle multiple changes into one vague line (ie. "Changed various combat things"). Try to make all commit messages understandable by non-programmers.

Binary file not shown.

View File

@@ -1,8 +1,14 @@
LOAD.SNAPSHOT_OBJECTS=1
<<<<<<< HEAD
LOAD.BUILDOUT_OBJECTS=1
# example: LOAD.BUILDOUT_ONLY_FOR=tatooine
LOAD.BUILDOUT_ONLY_FOR=naboo
LOAD.RESOURCE.SYSTEM=0
=======
LOAD.BUILDOUT_OBJECTS=0
#LOAD.BUILDOUT_ONLY_FOR="dathomir"
LOAD.RESOURCE.SYSTEM=1
>>>>>>> origin/master
# Misc
CLEAN.ODB.FOLDERS=1

View File

@@ -5,19 +5,15 @@ def setup(core, actor, buff):
return
def add(core, actor, buff):
buffWorkshop = actor.getAttachment('buffWorkshop')
if buffWorkshop is None:
return
attached = actor.getAttachment('inspireDuration')
buff.setDuration(float(actor.getAttachment('inspireDuration') * 60))
for BuffItem in buffWorkshop:
core.skillModService.addSkillMod(actor, BuffItem.getSkillName(), BuffItem.getAffectAmount())
return
def remove(core, actor, buff):

View File

@@ -0,0 +1,671 @@
#This file is to only be edited by Project SWG Staff.
#Do not commit any changes to this file unless authorized.
from resources.common import RadialOptions
from resources.common import OutOfBand
from protocol.swg import ResourceListForSurveyMessage
from services.sui.SUIService import MessageBoxType
from services.sui.SUIWindow import Trigger
from java.util import Vector
from java.lang import System
from java.lang import Long
from java.util import Map
from java.util import TreeMap
from resources.datatables import WeaponType
from engine.resources.scene import Point3D
import main.NGECore
import sys
import math
core = main.NGECore.getInstance()
def screenOne (core, owner):
window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0);
window.setProperty('bg.caption.lblTitle:Text', 'Character Builder Terminal')
window.setProperty('Prompt.lblPrompt:Text', 'Welcome to the Project SWG Test Center.')
window.setProperty('btnOk:visible', 'True')
window.setProperty('btnCancel:visible', 'True')
window.setProperty('btnOk:Text', '@ok')
window.setProperty('btnCancel:Text', '@cancel')
returnList = Vector()
returnList.add('List.lstList:SelectedRow')
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, screenOneCallback)
window.addListBoxMenuItem('Character', 0)
window.addListBoxMenuItem('Items', 1)
window.addListBoxMenuItem('Instant Travel Locations', 2)
window.addListBoxMenuItem('Resources', 3)
if owner.getClient() and owner.getClient().isGM() == True:
window.addListBoxMenuItem('Admin', 4)
core.suiService.openSUIWindow(window);
def screenOneCallback(owner, window, eventType, returnList):
if returnList.size()==0:
owner.sendSystemMessage('NULL', 0)
return
if returnList.get(0)=='0':
characterHandler(owner)
return
if returnList.get(0)=='1':
itemsHandler(owner)
return
if returnList.get(0)=='2':
travelHandler(owner)
return
if returnList.get(0)=='3':
resourceHandler(owner)
return
if returnList.get(0)=='4':
adminHandler(owner)
return
return
def characterHandler(owner):
window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0);
window.setProperty('bg.caption.lblTitle:Text', 'Character Builder Terminal')
window.setProperty('Prompt.lblPrompt:Text', 'Welcome to Project SWG Test Center.')
window.setProperty('btnOk:visible', 'True')
window.setProperty('btnCancel:visible', 'True')
window.setProperty('btnOk:Text', '@ok')
window.setProperty('btnCancel:Text', '@cancel')
returnList = Vector()
returnList.add('List.lstList:SelectedRow')
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, characterHandlerCallback)
window.addListBoxMenuItem('Set Combat Level To 90', 0)
window.addListBoxMenuItem('Give 50,000 Credits', 1)
window.addListBoxMenuItem('Give Character Buffs', 2)
window.addListBoxMenuItem('Reset Combat Level To 1', 3)
core.suiService.openSUIWindow(window);
def characterHandlerCallback(owner, window, eventType, returnList):
if returnList.size()==0:
owner.sendSystemMessage('NULL', 0)
return
if returnList.get(0)=='0':
combatLevel(owner)
return
if returnList.get(0)=='1':
credits(owner)
return
if returnList.get(0)=='2':
buff(owner)
return
if returnList.get(0)=='3':
combatLevelDown(owner)
return
return
def itemsHandler(owner):
window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0);
window.setProperty('bg.caption.lblTitle:Text', 'Character Builder Terminal')
window.setProperty('Prompt.lblPrompt:Text', 'Welcome to Project SWG Test Center.')
window.setProperty('btnOk:visible', 'True')
window.setProperty('btnCancel:visible', 'True')
window.setProperty('btnOk:Text', '@ok')
window.setProperty('btnCancel:Text', '@cancel')
returnList = Vector()
returnList.add('List.lstList:SelectedRow')
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, itemsHandlerCallback)
window.addListBoxMenuItem('Weapons', 0)
window.addListBoxMenuItem('Armor', 1)
window.addListBoxMenuItem('Misc Equipment', 2)
core.suiService.openSUIWindow(window);
def itemsHandlerCallback(owner, window, eventType, returnList):
if returnList.size()==0:
owner.sendSystemMessage('NULL', 0)
return
if returnList.get(0)=='0':
weaponsHandler(owner)
return
if returnList.get(0)=='1':
armorHandler(owner)
return
if returnList.get(0)=='2':
miscHandler(owner)
return
return
def travelHandler(owner):
window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0);
window.setProperty('bg.caption.lblTitle:Text', 'Character Builder Terminal')
window.setProperty('Prompt.lblPrompt:Text', 'Welcome to Project SWG Test Center.')
window.setProperty('btnOk:visible', 'True')
window.setProperty('btnCancel:visible', 'True')
window.setProperty('btnOk:Text', '@ok')
window.setProperty('btnCancel:Text', '@cancel')
returnList = Vector()
returnList.add('List.lstList:SelectedRow')
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, travelHandlerCallback)
window.addListBoxMenuItem('Tatooine, Mos Eisley', 0)
window.addListBoxMenuItem('Dantooine, Jedi Ruins', 1)
window.addListBoxMenuItem('Blank', 2)
window.addListBoxMenuItem('Blank', 3)
core.suiService.openSUIWindow(window);
def travelHandlerCallback(owner, window, eventType, returnList):
inventory = owner.getSlottedObject('inventory')
if returnList.size()==0:
owner.sendSystemMessage('NULL', 0)
return
if returnList.get(0)=='0':
eisleyTravel(owner)
return
if returnList.get(0)=='1':
jediRuinsTravel(owner)
return
return
def resourceHandler(owner):
window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0);
window.setProperty('bg.caption.lblTitle:Text', 'Character Builder Terminal')
window.setProperty('Prompt.lblPrompt:Text', 'Welcome to Project SWG Test Center.')
window.setProperty('btnOk:visible', 'True')
window.setProperty('btnCancel:visible', 'True')
window.setProperty('btnOk:Text', '@ok')
window.setProperty('btnCancel:Text', '@cancel')
returnList = Vector()
returnList.add('List.lstList:SelectedRow')
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, resourceHandlerCallback)
window.addListBoxMenuItem('Survey Devices', 0)
core.suiService.openSUIWindow(window);
def resourceHandlerCallback(owner, window, eventType, returnList):
inventory = owner.getSlottedObject('inventory')
if returnList.size()==0:
owner.sendSystemMessage('NULL', 0)
return
if returnList.get(0)=='0':
surveyDevices(owner, inventory)
return
def adminHandler(owner):
window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0);
window.setProperty('bg.caption.lblTitle:Text', 'Character Builder Terminal')
window.setProperty('Prompt.lblPrompt:Text', 'Welcome to Project SWG Test Center.')
window.setProperty('btnOk:visible', 'True')
window.setProperty('btnCancel:visible', 'True')
window.setProperty('btnOk:Text', '@ok')
window.setProperty('btnCancel:Text', '@cancel')
returnList = Vector()
returnList.add('List.lstList:SelectedRow')
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, adminHandlerCallback)
window.addListBoxMenuItem('Vehicle', 0)
window.addListBoxMenuItem('Crafting', 1)
window.addListBoxMenuItem('Character Builder Terminal', 2)
window.addListBoxMenuItem('Placeholder', 3)
core.suiService.openSUIWindow(window);
def adminHandlerCallback(owner, window, eventType, returnList):
inventory = owner.getSlottedObject('inventory')
if returnList.size()==0:
owner.sendSystemMessage('NULL', 0)
return
if returnList.get(0)=='0':
vehicleHandler(owner, inventory)
return
if returnList.get(0)=='2':
cbtHandler(owner, inventory)
return
return
def weaponsHandler(owner):
window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0);
window.setProperty('bg.caption.lblTitle:Text', 'Character Builder Terminal')
window.setProperty('Prompt.lblPrompt:Text', 'Welcome to Project SWG Test Center.')
window.setProperty('btnOk:visible', 'True')
window.setProperty('btnCancel:visible', 'True')
window.setProperty('btnOk:Text', '@ok')
window.setProperty('btnCancel:Text', '@cancel')
returnList = Vector()
returnList.add('List.lstList:SelectedRow')
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, weaponsHandlerCallback)
window.addListBoxMenuItem('Melee', 0)
window.addListBoxMenuItem('Ranged', 1)
window.addListBoxMenuItem('Lightsabers', 2)
window.addListBoxMenuItem('Krayt Pearls', 3)
window.addListBoxMenuItem('Color Crystals', 4)
core.suiService.openSUIWindow(window);
def weaponsHandlerCallback(owner, window, eventType, returnList):
inventory = owner.getSlottedObject('inventory')
if returnList.size()==0:
owner.sendSystemMessage('NULL', 0)
return
if returnList.get(0)=='0':
meleeWeapons(owner, inventory)
return
if returnList.get(0)=='1':
rangedWeapons(owner, inventory)
return
if returnList.get(0)=='2':
lightsabers(owner, inventory)
return
if returnList.get(0)=='3':
lightsaberPowerCrystals(owner, inventory)
return
if returnList.get(0)=='4':
lightsaberColorCrystals(owner, inventory)
return
return
def armorHandler(owner):
window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0);
window.setProperty('bg.caption.lblTitle:Text', 'Character Builder Terminal')
window.setProperty('Prompt.lblPrompt:Text', 'Welcome to Project SWG Test Center.')
window.setProperty('btnOk:visible', 'True')
window.setProperty('btnCancel:visible', 'True')
window.setProperty('btnOk:Text', '@ok')
window.setProperty('btnCancel:Text', '@cancel')
returnList = Vector()
returnList.add('List.lstList:SelectedRow')
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, armorHandlerCallback)
window.addListBoxMenuItem('Composite', 0)
window.addListBoxMenuItem('Jedi Master Cloak', 1)
window.addListBoxMenuItem('Jedi Knight Robes', 2)
core.suiService.openSUIWindow(window);
def armorHandlerCallback(owner, window, eventType, returnList):
inventory = owner.getSlottedObject('inventory')
if returnList.size()==0:
owner.sendSystemMessage('NULL', 0)
return
if returnList.get(0)=='0':
compositeArmor(owner, inventory)
return
if returnList.get(0)=='1':
jediMasterCloak(owner, inventory)
return
if returnList.get(0)=='2':
jediKnightRobes(owner, inventory)
return
def miscHandler(owner):
window = core.suiService.createSUIWindow('Script.listBox', owner, owner, 0);
window.setProperty('bg.caption.lblTitle:Text', 'Character Builder Terminal')
window.setProperty('Prompt.lblPrompt:Text', 'Welcome to Project SWG Test Center.')
window.setProperty('btnOk:visible', 'True')
window.setProperty('btnCancel:visible', 'True')
window.setProperty('btnOk:Text', '@ok')
window.setProperty('btnCancel:Text', '@cancel')
returnList = Vector()
returnList.add('List.lstList:SelectedRow')
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, miscHandlerCallback)
window.addListBoxMenuItem('Backpack', 0)
window.addListBoxMenuItem('Heroism Jewelry Set', 1)
window.addListBoxMenuItem('Belt of Master Bodo Baas', 2)
window.addListBoxMenuItem('Starter Equipment Box', 3)
core.suiService.openSUIWindow(window);
def miscHandlerCallback(owner, window, eventType, returnList):
inventory = owner.getSlottedObject('inventory')
if returnList.size()==0:
owner.sendSystemMessage('NULL', 0)
return
if returnList.get(0)=='0':
backpack(owner, inventory)
return
if returnList.get(0)=='1':
heroismJewelry(owner, inventory)
return
if returnList.get(0)=='2':
jediBelt(owner, inventory)
return
if returnList.get(0)=='3':
starterEquipmentBox(owner, inventory)
return
return
def combatLevel(owner):
if (owner.getLevel() < 90):
core.playerService.grantLevel(owner, 90);
screenOne(core, owner)
return
def credits(owner):
owner.setCashCredits(owner.getCashCredits() + 50000);
owner.sendSystemMessage('The Project SWG team has pitched in and given you ' + "50,000" + ' credits for your service.', 0)
screenOne(core, owner)
return
def buff(owner):
core.buffService.addBuffToCreature(owner, 'me_buff_health_2', owner)
buff = owner.getBuffByName('me_buff_health_2')
buff.setDuration(5400)
core.buffService.addBuffToCreature(owner, 'me_buff_action_3', owner)
buff1 = owner.getBuffByName('me_buff_action_3')
buff1.setDuration(5400)
core.buffService.addBuffToCreature(owner, 'me_buff_agility_3', owner)
buff2 = owner.getBuffByName('me_buff_agility_3')
buff2.setDuration(5400)
core.buffService.addBuffToCreature(owner, 'me_buff_melee_gb_1', owner)
buff3 = owner.getBuffByName('me_buff_melee_gb_1')
buff3.setDuration(5400)
core.buffService.addBuffToCreature(owner, 'me_buff_ranged_gb_1', owner)
buff4 = owner.getBuffByName('me_buff_ranged_gb_1')
buff4.setDuration(5400)
core.buffService.addBuffToCreature(owner, 'me_buff_precision_3', owner)
buff5 = owner.getBuffByName('me_buff_precision_3')
buff5.setDuration(5400)
core.buffService.addBuffToCreature(owner, 'me_buff_strength_3', owner)
buff6 = owner.getBuffByName('me_buff_strength_3')
buff6.setDuration(5400)
screenOne(core, owner)
return
def combatLevelDown(owner):
if (owner.getLevel() == 1):
screenOne(core, owner)
return
if (owner.getLevel() > 1):
core.playerService.grantLevel(owner, 1)
screenOne(core, owner)
return
def rangedWeapons(owner, inventory):
rifle = core.objectService.createObject('object/weapon/ranged/rifle/shared_rifle_e11.iff', owner.getPlanet())
rifle.setDamageType('energy')
rifle.setWeaponType(WeaponType.RIFLE)
rifle.setAttackSpeed(0.8)
rifle.setMinDamage(518)
rifle.setMaxDamage(1035)
rifle.setMaxRange(64)
pistol = core.objectService.createObject('object/weapon/ranged/pistol/shared_pistol_dl44.iff', owner.getPlanet())
pistol.setDamageType('energy')
pistol.setWeaponType(WeaponType.PISTOL)
pistol.setAttackSpeed(0.4)
pistol.setMinDamage(259)
pistol.setMaxDamage(518)
pistol.setMaxRange(35)
carbine = core.objectService.createObject('object/weapon/ranged/carbine/shared_carbine_e11.iff', owner.getPlanet())
carbine.setDamageType('energy')
carbine.setWeaponType(WeaponType.CARBINE)
carbine.setAttackSpeed(0.6)
carbine.setMinDamage(389)
carbine.setMaxDamage(780)
carbine.setMaxRange(50)
heavy = core.objectService.createObject('object/weapon/ranged/heavy/shared_som_lava_cannon.iff', owner.getPlanet())
heavy.setDamageType('energy')
heavy.setWeaponType(WeaponType.HEAVYWEAPON)
heavy.setAttackSpeed(1)
heavy.setMinDamage(850)
heavy.setMaxDamage(1350)
heavy.setStringAttribute('wpn_elemental_type', 'Heat')
heavy.setStringAttribute('wpn_elemental_value', '50')
heavy.setMaxRange(64)
inventory.add(rifle)
inventory.add(pistol)
inventory.add(carbine)
inventory.add(heavy)
screenOne(core, owner)
return
def meleeWeapons(owner, inventory):
polearm = core.objectService.createObject('object/weapon/melee/polearm/shared_polearm_vibro_axe.iff', owner.getPlanet())
polearm.setAttackSpeed(1.0)
polearm.setMaxRange(5)
polearm.setDamageType('kinetic')
polearm.setMinDamage(700)
polearm.setMaxDamage(990)
polearm.setWeaponType(WeaponType.POLEARMMELEE)
inventory.add(polearm)
screenOne(core, owner)
return
def compositeArmor(owner, inventory):
comp_bicep_r = core.objectService.createObject("object/tangible/wearables/armor/composite/shared_armor_composite_bicep_r.iff", owner.getPlanet())
comp_bicep_r.setIntAttribute("cat_armor_standard_protection.armor_eff_kinetic", 7000);
comp_bicep_r.setIntAttribute("cat_armor_standard_protection.armor_eff_energy", 5000);
comp_bicep_r.setIntAttribute("cat_armor_special_protection.special_protection_type_heat", 6000);
comp_bicep_r.setIntAttribute("cat_armor_special_protection.special_protection_type_cold", 6000);
comp_bicep_r.setIntAttribute("cat_armor_special_protection.special_protection_type_acid", 6000);
comp_bicep_r.setIntAttribute("cat_armor_special_protection.special_protection_type_electricity", 6000);
comp_bicep_l = core.objectService.createObject("object/tangible/wearables/armor/composite/shared_armor_composite_bicep_l.iff", owner.getPlanet())
comp_bicep_l.setIntAttribute("cat_armor_standard_protection.armor_eff_kinetic", 7000);
comp_bicep_l.setIntAttribute("cat_armor_standard_protection.armor_eff_energy", 5000);
comp_bicep_l.setIntAttribute("cat_armor_special_protection.special_protection_type_heat", 6000);
comp_bicep_l.setIntAttribute("cat_armor_special_protection.special_protection_type_cold", 6000);
comp_bicep_l.setIntAttribute("cat_armor_special_protection.special_protection_type_acid", 6000);
comp_bicep_l.setIntAttribute("cat_armor_special_protection.special_protection_type_electricity", 6000);
comp_bracer_r = core.objectService.createObject("object/tangible/wearables/armor/composite/shared_armor_composite_bracer_r.iff", owner.getPlanet())
comp_bracer_r.setIntAttribute("cat_armor_standard_protection.armor_eff_kinetic", 7000);
comp_bracer_r.setIntAttribute("cat_armor_standard_protection.armor_eff_energy", 5000);
comp_bracer_r.setIntAttribute("cat_armor_special_protection.special_protection_type_heat", 6000);
comp_bracer_r.setIntAttribute("cat_armor_special_protection.special_protection_type_cold", 6000);
comp_bracer_r.setIntAttribute("cat_armor_special_protection.special_protection_type_acid", 6000);
comp_bracer_r.setIntAttribute("cat_armor_special_protection.special_protection_type_electricity", 6000);
comp_bracer_l = core.objectService.createObject("object/tangible/wearables/armor/composite/shared_armor_composite_bracer_l.iff", owner.getPlanet())
comp_bracer_l.setIntAttribute("cat_armor_standard_protection.armor_eff_kinetic", 7000);
comp_bracer_l.setIntAttribute("cat_armor_standard_protection.armor_eff_energy", 5000);
comp_bracer_l.setIntAttribute("cat_armor_special_protection.special_protection_type_heat", 6000);
comp_bracer_l.setIntAttribute("cat_armor_special_protection.special_protection_type_cold", 6000);
comp_bracer_l.setIntAttribute("cat_armor_special_protection.special_protection_type_acid", 6000);
comp_bracer_l.setIntAttribute("cat_armor_special_protection.special_protection_type_electricity", 6000);
comp_leggings = core.objectService.createObject("object/tangible/wearables/armor/composite/shared_armor_composite_leggings.iff", owner.getPlanet())
comp_leggings.setIntAttribute("cat_armor_standard_protection.armor_eff_kinetic", 7000);
comp_leggings.setIntAttribute("cat_armor_standard_protection.armor_eff_energy", 5000);
comp_leggings.setIntAttribute("cat_armor_special_protection.special_protection_type_heat", 6000);
comp_leggings.setIntAttribute("cat_armor_special_protection.special_protection_type_cold", 6000);
comp_leggings.setIntAttribute("cat_armor_special_protection.special_protection_type_acid", 6000);
comp_leggings.setIntAttribute("cat_armor_special_protection.special_protection_type_electricity", 6000);
comp_helmet = core.objectService.createObject("object/tangible/wearables/armor/composite/shared_armor_composite_helmet.iff", owner.getPlanet())
comp_helmet.setIntAttribute("cat_armor_standard_protection.armor_eff_kinetic", 7000);
comp_helmet.setIntAttribute("cat_armor_standard_protection.armor_eff_energy", 5000);
comp_helmet.setIntAttribute("cat_armor_special_protection.special_protection_type_heat", 6000);
comp_helmet.setIntAttribute("cat_armor_special_protection.special_protection_type_cold", 6000);
comp_helmet.setIntAttribute("cat_armor_special_protection.special_protection_type_acid", 6000);
comp_helmet.setIntAttribute("cat_armor_special_protection.special_protection_type_electricity", 6000);
comp_chest = core.objectService.createObject("object/tangible/wearables/armor/composite/shared_armor_composite_chest_plate.iff", owner.getPlanet())
comp_chest.setIntAttribute("cat_armor_standard_protection.armor_eff_kinetic", 7000);
comp_chest.setIntAttribute("cat_armor_standard_protection.armor_eff_energy", 5000);
comp_chest.setIntAttribute("cat_armor_special_protection.special_protection_type_heat", 6000);
comp_chest.setIntAttribute("cat_armor_special_protection.special_protection_type_cold", 6000);
comp_chest.setIntAttribute("cat_armor_special_protection.special_protection_type_acid", 6000);
comp_chest.setIntAttribute("cat_armor_special_protection.special_protection_type_electricity", 6000);
comp_boots = core.objectService.createObject("object/tangible/wearables/armor/composite/shared_armor_composite_boots.iff", owner.getPlanet())
comp_gloves = core.objectService.createObject("object/tangible/wearables/armor/composite/shared_armor_composite_gloves.iff", owner.getPlanet())
inventory.add(comp_bicep_r);
inventory.add(comp_bicep_l);
inventory.add(comp_bracer_r);
inventory.add(comp_bracer_l);
inventory.add(comp_leggings);
inventory.add(comp_helmet);
inventory.add(comp_chest);
inventory.add(comp_boots);
inventory.add(comp_gloves);
screenOne(core, owner)
return
def jediMasterCloak(owner, inventory):
cloak = core.objectService.createObject('object/tangible/wearables/robe/shared_robe_s05_h1.iff', owner.getPlanet(), 'item_jedi_robe_06_01')
inventory.add(cloak)
screenOne(core, owner)
return
def jediKnightRobes(owner, inventory):
robe1 = core.objectService.createObject("object/tangible/wearables/robe/shared_robe_jedi_light_s03.iff", owner.getPlanet())
robe2 = core.objectService.createObject("object/tangible/wearables/robe/shared_robe_jedi_dark_s03.iff", owner.getPlanet())
inventory.add(robe1)
inventory.add(robe2)
screenOne(core, owner)
return
def lightsabers(owner, inventory):
lightsaber1 = core.objectService.createObject("object/weapon/melee/sword/crafted_saber/shared_sword_lightsaber_one_handed_gen5.iff", owner.getPlanet())
lightsaber1.setIntAttribute("required_combat_level", 90);
lightsaber1.setStringAttribute("class_required", "Jedi");
lightsaber1.setAttackSpeed(1);
lightsaber1.setDamageType("energy");
lightsaber1.setMaxRange(5);
lightsaber1.setMinDamage(689);
lightsaber1.setMaxDamage(1379);
lightsaber1.setWeaponType(WeaponType.ONEHANDEDSABER);
lightsaber2 = core.objectService.createObject("object/weapon/melee/2h_sword/crafted_saber/shared_sword_lightsaber_two_handed_gen5.iff", owner.getPlanet())
lightsaber2.setIntAttribute("required_combat_level", 90);
lightsaber2.setStringAttribute("class_required", "Jedi");
lightsaber2.setAttackSpeed(1);
lightsaber2.setDamageType("energy");
lightsaber2.setMaxRange(5);
lightsaber2.setMinDamage(689);
lightsaber2.setMaxDamage(1379);
lightsaber2.setWeaponType(WeaponType.TWOHANDEDSABER);
lightsaber3 = core.objectService.createObject("object/weapon/melee/polearm/crafted_saber/shared_sword_lightsaber_polearm_gen5.iff", owner.getPlanet())
lightsaber3.setIntAttribute("required_combat_level", 90);
lightsaber3.setStringAttribute("class_required", "Jedi");
lightsaber3.setAttackSpeed(1);
lightsaber3.setDamageType("energy");
lightsaber3.setMaxRange(5);
lightsaber3.setMinDamage(689);
lightsaber3.setMaxDamage(1379);
lightsaber3.setWeaponType(WeaponType.POLEARMSABER);
inventory.add(lightsaber1)
inventory.add(lightsaber2)
inventory.add(lightsaber3)
screenOne(core, owner)
return
def lightsaberPowerCrystals(owner, inventory):
kraytPearl = core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff", owner.getPlanet())
kraytPearl.setAttachment("LootItemName", "kraytpearl_premium");
core.lootService.handleSpecialItems(kraytPearl, "kraytpearl");
kraytPearl2 = core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff", owner.getPlanet())
kraytPearl2.setAttachment("LootItemName", "kraytpearl_premium");
core.lootService.handleSpecialItems(kraytPearl2, "kraytpearl");
kraytPearl3 = core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff", owner.getPlanet())
kraytPearl3.setAttachment("LootItemName", "kraytpearl_premium");
core.lootService.handleSpecialItems(kraytPearl3, "kraytpearl");
kraytPearl4 = core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff", owner.getPlanet())
kraytPearl4.setAttachment("LootItemName", "kraytpearl_premium");
core.lootService.handleSpecialItems(kraytPearl4, "kraytpearl");
kraytPearl5 = core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_krayt_dragon_pearl.iff", owner.getPlanet())
kraytPearl5.setAttachment("LootItemName", "kraytpearl_premium");
core.lootService.handleSpecialItems(kraytPearl5, "kraytpearl");
inventory.add(kraytPearl);
inventory.add(kraytPearl2);
inventory.add(kraytPearl3);
inventory.add(kraytPearl4);
inventory.add(kraytPearl5);
screenOne(core, owner)
return
def lightsaberColorCrystals(owner, inventory):
colorCrystal = core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff", owner.getPlanet())
colorCrystal.getAttributes().put("@obj_attr_n:condition", "100/100");
colorCrystal.getAttributes().put("@obj_attr_n:crystal_owner", "\\#D1F56F UNTUNED \\#FFFFFF ");
colorCrystal.setAttachment("radial_filename", "item/tunable");
colorCrystal.setCustomizationVariable('/private/index_color_1', 5)
colorCrystal2 = core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff", owner.getPlanet())
colorCrystal2.getAttributes().put("@obj_attr_n:condition", "100/100");
colorCrystal2.getAttributes().put("@obj_attr_n:crystal_owner", "\\#D1F56F UNTUNED \\#FFFFFF ");
colorCrystal2.setAttachment("radial_filename", "item/tunable");
colorCrystal2.setCustomizationVariable('/private/index_color_1', 1)
lavaCrystal = core.objectService.createObject("object/tangible/component/weapon/lightsaber/shared_lightsaber_module_lava_crystal.iff", owner.getPlanet())
inventory.add(colorCrystal)
inventory.add(colorCrystal2)
inventory.add(lavaCrystal)
screenOne(core, owner)
return
def jediBelt(owner, inventory):
inventory.add(core.objectService.createObject("object/tangible/wearables/backpack/shared_fannypack_s01.iff", owner.getPlanet()))
screenOne(core, owner)
return
def backpack(owner, inventory):
inventory.add(core.objectService.createObject("object/tangible/wearables/backpack/shared_backpack_s01.iff", owner.getPlanet()))
screenOne(core, owner)
return
def starterEquipmentBox(owner, inventory):
inventory.add(core.objectService.createObject("object/tangible/npe/shared_npe_uniform_box.iff", owner.getPlanet()))
screenOne(core, owner)
return
def heroismJewelry(owner, inventory):
heroismBand = core.objectService.createObject("object/tangible/wearables/ring/shared_ring_s04.iff", owner.getPlanet(), "item_band_set_hero_01_01")
heroismRing = core.objectService.createObject("object/tangible/wearables/ring/shared_ring_s02.iff", owner.getPlanet(), "item_ring_set_hero_01_01")
heroismNecklace = core.objectService.createObject("object/tangible/wearables/necklace/shared_necklace_s10.iff", owner.getPlanet(), "item_necklace_set_hero_01_01")
heroismBraceletRight = core.objectService.createObject("object/tangible/wearables/bracelet/shared_bracelet_s03_r.iff", owner.getPlanet(), "item_bracelet_r_set_hero_01_01")
heroismBraceletLeft = core.objectService.createObject("object/tangible/wearables/bracelet/shared_bracelet_s03_l.iff", owner.getPlanet(), "item_bracelet_l_set_hero_01_01")
inventory.add(heroismBand)
inventory.add(heroismRing)
inventory.add(heroismNecklace)
inventory.add(heroismBraceletRight)
inventory.add(heroismBraceletLeft)
screenOne(core, owner)
return
def vehicleHandler(owner, inventory):
speederbike = core.objectService.createObject('object/tangible/deed/vehicle_deed/shared_speederbike_swoop_deed.iff', owner.getPlanet())
inventory.add(speederbike)
screenOne(core, owner)
return
def cbtHandler(owner, inventory):
cbt = core.objectService.createObject('object/tangible/terminal/shared_terminal_character_builder.iff', owner.getPlanet())
inventory.add(cbt)
screenOne(core, owner)
return
def eisleyTravel(owner):
position = Point3D(3472, 4, -4870)
core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("tatooine"), position, owner.getOrientation(), None)
return
def jediRuinsTravel(owner):
position = Point3D(4260, 4, 5373)
core.simulationService.transferToPlanet(owner, core.terrainService.getPlanetByName("dantooine"), position, owner.getOrientation(), None)
return
def surveyDevices(owner, inventory):
mineralSurveyTool = core.objectService.createObject("object/tangible/survey_tool/shared_survey_tool_mineral.iff", owner.getPlanet())
chemicalSurveyTool = core.objectService.createObject("object/tangible/survey_tool/shared_survey_tool_inorganic.iff", owner.getPlanet())
floraSurveyTool = core.objectService.createObject("object/tangible/survey_tool/shared_survey_tool_lumber.iff", owner.getPlanet())
gasSurveyTool = core.objectService.createObject("object/tangible/survey_tool/shared_survey_tool_gas.iff", owner.getPlanet())
waterSurveyTool = core.objectService.createObject("object/tangible/survey_tool/shared_survey_tool_moisture.iff", owner.getPlanet())
windSurveyTool = core.objectService.createObject("object/tangible/survey_tool/shared_survey_tool_wind.iff", owner.getPlanet())
solarSurveyTool = core.objectService.createObject("object/tangible/survey_tool/shared_survey_tool_solar.iff", owner.getPlanet())
inventory.add(mineralSurveyTool)
inventory.add(chemicalSurveyTool)
inventory.add(floraSurveyTool)
inventory.add(gasSurveyTool)
inventory.add(waterSurveyTool)
inventory.add(windSurveyTool)
inventory.add(solarSurveyTool)
return

View File

@@ -3,23 +3,23 @@ from resources.datatables import GcwRank
def handleRankUp(core, actor, newrank):
if newrank >= GcwRank.LIEUTENANT:
actor.addAbility('pvp_retaliation_ability')
actor.addAbility('command_pvp_retaliation_ability')
core.collectionService.addCollection(actor, 'pvp_imperial_lieutenant')
if newrank >= GcwRank.CAPTAIN:
actor.addAbility('pvp_adrenaline_ability')
actor.addAbility('command_pvp_adrenaline_ability')
core.collectionService.addCollection(actor, 'pvp_imperial_captain')
if newrank >= GcwRank.MAJOR:
actor.addAbility('pvp_unstoppable_ability')
actor.addAbility('command_pvp_unstoppable_ability')
core.collectionService.addCollection(actor, 'pvp_imperial_major')
if newrank >= GcwRank.LTCOLONEL:
actor.addAbility('pvp_last_man_ability')
actor.addAbility('command_pvp_last_man_ability')
core.collectionService.addCollection(actor, 'pvp_imperial_lt_colonel')
if newrank >= GcwRank.COLONEL:
actor.addAbility('pvp_aura_buff_self_ability')
actor.addAbility('pvp_aura_buff_imperial_self')
core.collectionService.addCollection(actor, 'pvp_imperial_colonel')
if newrank >= GcwRank.GENERAL:
@@ -30,19 +30,19 @@ def handleRankUp(core, actor, newrank):
def handleRankDown(actor, newrank):
if newrank < GcwRank.LIEUTENANT:
actor.removeAbility('pvp_retaliation_ability')
actor.removeAbility('command_pvp_retaliation_ability')
if newrank < GcwRank.CAPTAIN:
actor.removeAbility('pvp_adrenaline_ability')
actor.removeAbility('command_pvp_adrenaline_ability')
if newrank < GcwRank.MAJOR:
actor.removeAbility('pvp_unstoppable_ability')
actor.removeAbility('command_pvp_unstoppable_ability')
if newrank < GcwRank.LTCOLONEL:
actor.removeAbility('pvp_last_man_ability')
actor.removeAbility('command_pvp_last_man_ability')
if newrank < GcwRank.COLONEL:
actor.removeAbility('pvp_aura_buff_self_ability')
actor.removeAbility('pvp_aura_buff_imperial_self')
if newrank < GcwRank.GENERAL:
actor.removeAbility('pvp_airstrike_ability')

View File

@@ -3,23 +3,23 @@ from resources.datatables import GcwRank
def handleRankUp(core, actor, newrank):
if newrank >= GcwRank.LIEUTENANT:
actor.addAbility('pvp_retaliation_rebel_ability')
actor.addAbility('command_pvp_retaliation_rebel_ability')
core.collectionService.addCollection(actor, 'pvp_rebel_lieutenant')
if newrank >= GcwRank.CAPTAIN:
actor.addAbility('pvp_adrenaline_rebel_ability')
actor.addAbility('command_pvp_adrenaline_rebel_ability')
core.collectionService.addCollection(actor, 'pvp_rebel_captain')
if newrank >= GcwRank.MAJOR:
actor.addAbility('pvp_unstoppable_rebel_ability')
actor.addAbility('command_pvp_unstoppable_rebel_ability')
core.collectionService.addCollection(actor, 'pvp_rebel_major')
if newrank >= GcwRank.COMMANDER:
actor.addAbility('pvp_last_man_rebel_ability')
actor.addAbility('command_pvp_last_man_rebel_ability')
core.collectionService.addCollection(actor, 'pvp_rebel_commander')
if newrank >= GcwRank.COLONEL:
actor.addAbility('pvp_aura_buff_self_rebel_ability')
actor.addAbility('pvp_aura_buff_rebel_self')
core.collectionService.addCollection(actor, 'pvp_rebel_colonel')
if newrank >= GcwRank.GENERAL:
@@ -30,19 +30,19 @@ def handleRankUp(core, actor, newrank):
def handleRankDown(actor, newrank):
if newrank < GcwRank.LIEUTENANT:
actor.removeAbility('pvp_retaliation_rebel_ability')
actor.removeAbility('command_pvp_retaliation_rebel_ability')
if newrank < GcwRank.CAPTAIN:
actor.removeAbility('pvp_adrenaline_rebel_ability')
actor.removeAbility('command_pvp_adrenaline_rebel_ability')
if newrank < GcwRank.MAJOR:
actor.removeAbility('pvp_unstoppable_rebel_ability')
actor.removeAbility('command_pvp_unstoppable_rebel_ability')
if newrank < GcwRank.COMMANDER:
actor.removeAbility('pvp_last_man_rebel_ability')
actor.removeAbility('command_pvp_last_man_rebel_ability')
if newrank < GcwRank.COLONEL:
actor.removeAbility('pvp_aura_buff_self_rebel_ability')
actor.removeAbility('pvp_aura_buff_rebel_self')
if newrank < GcwRank.GENERAL:
actor.removeAbility('pvp_airstrike_rebel_ability')

View File

@@ -0,0 +1,15 @@
import sys
def run(core, actor, target, commandString):
commandArgs = commandString.split(' ')
arg1 = commandArgs[0]
if target is None:
target = actor
if target:
playerObject = target.getSlottedObject('ghost')
playerObject.setLotsRemaining(playerObject.getLotsRemaining() + int(arg1))
print(playerObject.getLotsRemaining())
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF adjustLotCount: Command completed successfully for: ' + target.getFirstName(), 0)
return

View File

@@ -1,12 +1,14 @@
from services.sui import SUIWindow
from services.sui.SUIWindow import Trigger
from java.util import Vector
import sys
def setup():
return
def run(core, actor, target, commandString):
core.chatService.broadcastGalaxy(commandString)
return
# -- This file will be used at a later date. It's plans are for /broadcast <event | rebel | imperial> <message>. (Where imperial/rebel broadcasts to their respective factions).
#from services.sui import SUIWindow
#from services.sui.SUIWindow import Trigger
#from java.util import Vector
#import sys
#
#def setup():
# return
#
#def run(core, actor, target, commandString):
# core.chatService.broadcastGalaxy(commandString)
#return
#
#

View File

@@ -0,0 +1,13 @@
from services.sui import SUIWindow
from services.sui.SUIWindow import Trigger
from java.util import Vector
import sys
def setup():
return
def run(core, actor, target, commandString):
core.chatService.broadcastGalaxy(commandString)
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF broadcastGalaxy: Command completed successfully.', 0)
return

View File

@@ -0,0 +1,12 @@
from services.sui import SUIWindow
from services.sui.SUIWindow import Trigger
from java.util import Vector
import sys
def setup():
return
def run(core, actor, target, commandString):
core.chatService.broadcastPlanet(commandString, actor.getPlanet())
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF broadcastPlanet: Command completed successfully.', 0)
return

View File

@@ -0,0 +1,18 @@
import sys
def run(core, actor, target, commandString):
commandArgs = commandString.split(' ')
arg1 = commandArgs[0]
playerObject = actor.getSlottedObject('ghost')
if actor:
actor.setCashCredits(actor.getCashCredits() + int(arg1))
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Credits: Command completed successfully. You have given yourself ' + arg1 + 'credits.', 0)
if actor and target:
target.setCashCredits(target.getCashCredits() + int(arg1))
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Credits: Command completed successfully. You have transferred ' + arg1 + ' credits to ' + target.getFirstName() + '.', 0)
return

View File

@@ -5,16 +5,24 @@ def setup():
def run(core, actor, target, commandString):
commandArgs = commandString.split(' ')
arg1 = commandArgs[0]
if len(commandArgs) > 1:
arg2 = commandArgs[1]
if actor.getClient() and actor.getClient().isGM() == False:
return
if not commandString.startswith('object/tangible') and not commandString.startswith('object/weapon'):
return
object = core.objectService.createObject(commandString, actor.getPlanet())
#object.setCustomizationVariable('/private/index_color_blade', 0x02)
#object.setCustomizationVariable('private/alternate_shader_blade', 0x02)
if len(commandArgs) == 2:
object = core.objectService.createObject((arg1), actor.getPlanet(), (arg2))
if len(commandArgs) == 1:
object = core.objectService.createObject((arg1), actor.getPlanet())
if not object:
return

View File

@@ -10,13 +10,12 @@ def run(core, actor, target, commandString):
if not playerObject or playerObject.getProfession() != "entertainer_1a":
return
if target is None or actor.getObjectId() == target.getObjectId():
openBuffWindow = BuffBuilderStartMessage(actor.getObjectId(), actor.getObjectId(), actor.getObjectId())
objController = ObjControllerMessage(11, openBuffWindow)
actor.getClient().getSession().write(objController.serialize())
return
if target is None and commandString is not None:
target = core.chatService.getObjectByFirstName(commandString)
if target is None:
@@ -34,7 +33,7 @@ def run(core, actor, target, commandString):
actor.sendSystemMessage('@performance:insp_buff_must_listen', 2)
return
if target.getPosition().getDistance2D(actor.getWorldPosition()) > float(20):
if target.getWorldPosition().getDistance2D(actor.getWorldPosition()) > float(20):
actor.sendSystemMessage(target.getCustomName() + ' is too far away to inspire.', 0)
return

View File

@@ -0,0 +1,33 @@
import sys
from resources.datatables import Options
def run(core, actor, target, commandString):
commandArgs = commandString.split(' ')
command = commandArgs[0]
if command == 'invisible':
if (actor.isInStealth()):
actor.setInStealth(False)
actor.setRadarVisible(True)
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Invulnerable invisible: Command completed successfully. You are no longer Invisible.', 0)
else:
actor.setInStealth(True)
actor.setRadarVisible(False)
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Invulnerable invisible: Command completed successfully. You are now Invisible.', 0)
if actor.getOptionsBitmask() == 128:
actor.setOptionsBitmask(Options.NONE)
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Invulnerable: Command completed successfully. You are now Invulnerable.', 0)
elif actor.getOptionsBitmask() == 0:
actor.setOptionsBitmask(Options.ATTACKABLE)
print(actor.getOptionsBitmask())
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Invulnerable: Command completed successfully. You are no longer Invulnerable.', 0)
return

View File

@@ -1,12 +1,20 @@
import sys
def setup():
return
return
def run(core, actor, target, commandString):
commandArgs = commandString.split("(^-,=+_)color_13548(,+-=_^)=1")
newString = commandArgs[0]
commandArgs = commandString.split(' ')
newString = None
# removes the strange varying color arguments the client sends to server
for arg in commandArgs:
if 'color' not in arg:
if newString is None:
newString = arg
else:
newString = newString + ' ' + arg
core.commandService.callCommand(actor, 'waypoint', None, newString)
return
core.commandService.callCommand(actor, 'waypoint', None, newString)
return

View File

@@ -24,18 +24,23 @@ def run(core, actor, target, commandString):
arg4 = commandArgs[4]
if not command:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server: Invalid Syntax. Syntax is: /server <lockServer | unlockServer | shutdown | stop>.', 0)
return
if command == 'lockServer':
core.setGalaxyStatus(GalaxyStatus.Locked)
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server lockServer: Command completed successfully. Server is now in Locked Status.', 0)
if command == 'unlockServer':
core.setGalaxyStatus(GalaxyStatus.Online)
if command == 'info':
actor.sendSystemMessage(str(core.getActiveZoneClients()) + ' online characters.', 0)
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server unlockServer: Command completed successfully. Server is now in Online Status.', 0)
#if command == 'restart': //This command currently causes an error at NGEcore.java like 593 whole attempting to close databaseConnection2
#core.restart()
#actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server restart: Command completed successfully. Server restart initiated.', 0)
if command == 'shutdown':
core.initiateShutdown()
if command == 'getheight':
actor.sendSystemMessage(str(core.terrainService.getHeight(actor.getPlanetId(), actor.getWorldPosition().x, actor.getWorldPosition().z)), 0)
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server shutdown: Command completed successfully. Server shutdown initiated.', 0)
if command == 'stop':
core.initiateStop()
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Server stop: Command completed successfully. Emergency server shutdown initiated.', 0)
return

View File

@@ -0,0 +1,41 @@
import sys
from resources.datatables import GcwRank
from services.gcw import GCWService
def run(core, actor, target, commandString):
commandArgs = commandString.split(' ')
arg1 = commandArgs[0]
if len(commandArgs) > 1:
arg2 = commandArgs[1]
if target is None:
target = actor
if target.getFaction() == 'rebel' or 'imperial' and arg1 == 'up':
playerObject = target.getSlottedObject('ghost')
playerObject.setCurrentRank(int(arg2))
newrank = playerObject.getCurrentRank()
core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankUp", core, target, newrank)
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF setRank: Command completed successfully.', 0)
if target.getFaction() == 'rebel' or 'imperial' and arg1 == 'down':
playerObject = target.getSlottedObject('ghost')
playerObject.setCurrentRank(int(arg2))
newrank = playerObject.getCurrentRank()
core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankDown", target, newrank)
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF setRank: Command completed successfully.', 0)
# if target.getFaction() == 'imperial' and arg1 == 'up':
# if arg1 == 'up':
# playerObject = actor.getSlottedObject('ghost')
# playerObject.setCurrentRank(int(arg2))
# newrank = playerObject.getCurrentRank()
# core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankUp", core, target, newrank)
# actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF setRank: Command completed successfully.', 0)
# if target.getFaction() == 'imperial' and arg1 == 'down':
# playerObject = actor.getSlottedObject('ghost')
# playerObject.setCurrentRank(int(arg2))
# newrank = playerObject.getCurrentRank()
# core.scriptService.callScript("scripts/collections/", "gcwrank_" + target.getFaction(), "handleRankDown", target, newrank)
# actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF setRank: Command completed successfully.', 0)
return

View File

@@ -17,7 +17,9 @@ def setup():
def run(core, actor, target, commandString):
playerObject = actor.getSlottedObject('ghost')
global str
if not playerObject:
return
@@ -145,23 +147,40 @@ def run(core, actor, target, commandString):
ori = actor.getOrientation()
cellid = 0
planetName = actor.getPlanet().getName()
actor.sendSystemMessage('Position.x : %s' % pos.x, 0)
print ('Position.x : %s' % pos.x, 0)
actor.sendSystemMessage('Position.y : %s' % pos.y, 0)
print ('Position.y : %s' % pos.y, 0)
actor.sendSystemMessage('Position.z : %s' % pos.z, 0)
print ('Position.z : %s' % pos.z, 0)
<<<<<<< HEAD
actor.sendSystemMessage('Orientation.y : %s' % ori.y, 0)
print ('Orientation.y : %s' % ori.y, 0)
actor.sendSystemMessage('Orientation.w : %s' % ori.w, 0)
print ('Orientation.w : %s' % ori.w, 0)
=======
actor.sendSystemMessage('Orientation.w : %s' % ori.w, 0)
print ('Orientation.x : %s' % ori.w, 0)
actor.sendSystemMessage('Orientation.x : %s' % ori.x, 0)
print ('Orientation.w : %s' % ori.x, 0)
actor.sendSystemMessage('Orientation.y : %s' % ori.y, 0)
print ('Orientation.y : %s' % ori.y, 0)
actor.sendSystemMessage('Orientation.z : %s' % ori.z, 0)
print ('Orientation.z : %s' % ori.z, 0)
>>>>>>> origin/master
if (actor.getContainer()):
cid = actor.getContainer().getObjectID()
building_id = actor.getGrandparent().getObjectID()
cid = actor.getContainer().getCellNumber()
cellid = cid
actor.sendSystemMessage('Cell ID : %s' % cid, 0)
str = "<OBJECTNAME> = stcSvc.spawnObject('<MOBILENAME>', '" + planetName + "', long(%s" % cellid + "), float(%.4f" % pos.x + "), float(%.4f" % pos.y + "), float(%.4f" % pos.z + "), float(%.4f" % ori.y + "), float(%.4f" % ori.w + "))"
actor.sendSystemMessage('Building ID : %s' % building_id, 0)
print('Cell ID : %s' % cid, 0)
print('Building ID : %s' % building_id, 0)
if cellid == 0:
str = "<OBJECTNAME> = stcSvc.spawnObject('<MOBILENAME>', '" + planetName + "', long(%s" % cellid + "), float(%.4f" % pos.x + "), float(%.4f" % pos.y + "), float(%.4f" % pos.z + "), float(%.4f" % ori.w + "), float(%.4f" % ori.x + "), float(%.4f" % ori.y + "), float(%.4f" % ori.z + "))"
elif cellid != 0:
str = "\tbuilding = core.objectService.getObject(long(%s" % building_id + "))\n\t<OBJECTNAME> = stcSvc.spawnObject('<MOBILENAME>', '" + planetName + "', building.getCellByCellNumber(long(%s" % cellid + ")), float(%.4f" % pos.x + "), float(%.4f" % pos.y + "), float(%.4f" % pos.z + "), float(%.4f" % ori.w + "), float(%.4f" % ori.x + "), float(%.4f" % ori.y + "), float(%.4f" % ori.z + "))"
toolkit = Toolkit.getDefaultToolkit()
clipboard = toolkit.getSystemClipboard()
clipboard.setContents(StringSelection(str), None)
@@ -306,3 +325,5 @@ def run(core, actor, target, commandString):
actor.sendSystemMessage('You were added to the Admin list for the Frog Building.', 0)
return
return

View File

@@ -0,0 +1,46 @@
import sys
from engine.resources.scene import Point3D
def setup():
return
def run(core, actor, target, commandString):
playerObject = actor.getSlottedObject('ghost')
if not playerObject:
return
commandArgs = commandString.split(' ')
arg4 = None
if len(commandArgs) > 0:
arg1 = commandArgs[0]
if len(commandArgs) > 1:
arg2 = commandArgs[1]
if len(commandArgs) > 2:
arg3 = commandArgs[2]
if len(commandArgs) > 3:
arg4 = commandArgs[3]
if arg1 and arg2 and arg3 and arg4 is not None:
try:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Teleport: Command completed successfully.', 0)
position = Point3D(float(arg1), float(arg2), float(arg3))
core.simulationService.transferToPlanet(actor, core.terrainService.getPlanetByName(arg4), position, actor.getOrientation(), None)
except:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Teleport: Invalid Syntax. Syntax is: /teleport <x> <y> [<z>] <planet>.', 0)
return
return
elif arg1 and arg2 and arg3:
try:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Teleport: Command completed successfully.', 0)
position = Point3D(float(arg1), 0, float(arg2))
core.simulationService.transferToPlanet(actor, core.terrainService.getPlanetByName(arg3), position, actor.getOrientation(), None)
except:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Teleport: Invalid Syntax. Syntax is: /teleport <x> <y> [<z>] <planet>.', 0)
return
else:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF Teleport: Invalid Syntax. Syntax is: /teleport <x> <y> [<z>] <planet>.', 0)
return
return

View File

@@ -5,25 +5,18 @@ def setup():
return
def run(core, actor, target, commandString):
playerObject = actor.getSlottedObject('ghost')
if not playerObject:
return
commandArgs = commandString.split(' ')
if len(commandArgs) > 0:
arg1 = commandArgs[0]
if len(commandArgs) > 1:
arg2 = commandArgs[1]
if len(commandArgs) > 2:
arg3 = commandArgs[2]
if len(commandArgs) > 3:
arg4 = commandArgs[3]
if arg1 and arg2 and arg3 and arg4 target:
position = Point3D(float(arg2), float(arg3), float(arg4))
core.simulationService.transferToPlanet(target, core.terrainService.getPlanetByName(arg1), position, actor.getOrientation(), None)
if target and target.getSlottedObject('ghost') is not None:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTarget: Command completed successfully.', 0)
core.simulationService.teleport(target, actor.getPosition(), actor.getOrientation(), 0)
return
else:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTarget: Invalid Syntax. Syntax is: /teleportTarget <HoverTarget>', 0)
return
return

View File

@@ -0,0 +1,30 @@
import sys
from engine.resources.scene import Point3D
def setup():
return
def run(core, actor, target, commandString):
playerObject = actor.getSlottedObject('ghost')
if not playerObject:
return
if target is None:
target = core.objectService.getObjectByFirstName(commandString)
if target and target.getSlottedObject('ghost') is not None:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTo: Command completed successfully.', 0)
if target.getPlanetId() == actor.getPlanetId():
core.simulationService.teleport(actor, target.getPosition(), target.getOrientation(), target.getParentId())
else:
if target.getParentId() == 0:
core.simulationService.transferToPlanet(actor, core.terrainService.getPlanetById(target.getPlanetId()), target.getPosition(), target.getOrientation(), None)
else:
core.simulationService.transferToPlanet(actor, core.terrainService.getPlanetById(target.getPlanetId()), target.getPosition(), target.getOrientation(), core.objectService.getObject(target.getParentId()))
return
else:
actor.sendSystemMessage(' \\#FE2EF7 [GM] \\#FFFFFF teleportTo: Invalid Syntax. Syntax is: /teleportTo <playerName>', 0)
return
return

View File

@@ -27,6 +27,8 @@ def addBonusSet(core):
bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_s32_h1.iff")
bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_s33.iff")
bonusSet.addRequiredItem("object/tangible/wearables/robe/shared_robe_s33_h1.iff")
bonusSet.addRequiredItem("item_jedi_robe_06_01")
core.equipmentService.addBonusSetTemplate(bonusSet)

View File

@@ -23,8 +23,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(2)
mobileTemplate.setSocialGroup("paralope")
mobileTemplate.setAssistRange(6)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_paralope.iff')
@@ -36,6 +37,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_charge_2')
attacks.add('bm_defensive_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,6 +23,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("rasp")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_plumed_rasp.iff')
@@ -34,6 +35,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_3')
attacks.add('bm_slash_3')
attacks.add('bm_wing_buffet_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,19 +25,23 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(80)
mobileTemplate.setSocialGroup("bageraset")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_bageraset.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic')
weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'energy')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_kick_2')
attacks.add('bm_spit_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,6 +25,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("bageraset")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_bageraset.iff')
@@ -36,6 +37,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_kick_2')
attacks.add('bm_spit_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -0,0 +1,49 @@
import sys
from services.spawn import MobileTemplate
from services.spawn import WeaponTemplate
from resources.datatables import WeaponType
from resources.datatables import Difficulty
from resources.datatables import Options
from java.util import Vector
def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('berserk_kahmurra')
mobileTemplate.setLevel(46)
mobileTemplate.setDifficulty(Difficulty.NORMAL)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setScale(1)
mobileTemplate.setMeatType("Herbivore Meat")
mobileTemplate.setMeatAmount(50)
mobileTemplate.setHideType("Bristley Hide")
mobileTemplate.setHideAmount(50)
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(35)
mobileTemplate.setSocialGroup("kahmurra")
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_kahmurra.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_charge_3')
attacks.add('bm_defensive_3')
attacks.add('bm_slash_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('berserk_kahmurra', mobileTemplate)
return

View File

@@ -12,8 +12,6 @@ def addTemplate(core):
mobileTemplate.setCreatureName('gubbur_bloated')
mobileTemplate.setLevel(23)
mobileTemplate.setMinLevel(23)
mobileTemplate.setMaxLevel(23)
mobileTemplate.setDifficulty(Difficulty.NORMAL)
mobileTemplate.setMinSpawnDistance(4)
@@ -27,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(3)
mobileTemplate.setSocialGroup("gubbur")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_gubber.iff')
@@ -40,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_damage_poison_1')
attacks.add('bm_spit_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -15,7 +15,7 @@ def addTemplate(core):
mobileTemplate.setDifficulty(Difficulty.NORMAL)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setDeathblow(False)
mobileTemplate.setScale(1)
mobileTemplate.setMeatType("Carnivore Meat")
mobileTemplate.setMeatAmount(70)
@@ -26,7 +26,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("wrix")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_wrix.iff')
@@ -38,6 +38,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_4')
attacks.add('bm_flank_2')
attacks.add('bm_slash_4')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -28,7 +28,7 @@ def addTemplate(core):
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_corellian_butterfly.iff')
templates.add('object/mobile/shared_corellian_butterfly_monarch.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
@@ -37,6 +37,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("canoid")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_canoid.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_charge_2')
attacks.add('bm_dampen_pain_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,9 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("canoid")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_canoid.iff')
@@ -39,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_charge_2')
attacks.add('bm_dampen_pain_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,12 +25,12 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("canoid")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_canoid.iff')
templates.add('object/mobile/shared_canoid_pack_leader.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
@@ -39,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_charge_2')
attacks.add('bm_dampen_pain_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,8 +23,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Avian Bones")
mobileTemplate.setBoneAmount(180)
mobileTemplate.setSocialGroup("carrion spat")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_carrion_spat.iff')
@@ -36,6 +37,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_1')
attacks.add('bm_hamstring_1')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -24,7 +24,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("carrion spat")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_carrion_spat.iff')
@@ -36,6 +36,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_1')
attacks.add('bm_hamstring_1')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,7 +23,7 @@ def addTemplate(core):
mobileTemplate.setHideType("Scaley Hide")
mobileTemplate.setHideAmount(4)
mobileTemplate.setSocialGroup("corellian butterfly")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
@@ -37,6 +37,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,20 +23,22 @@ def addTemplate(core):
mobileTemplate.setHideType("Scaley Hide")
mobileTemplate.setHideAmount(16)
mobileTemplate.setSocialGroup("corellian butterfly")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_corellian_butterfly.iff')
templates.add('object/mobile/shared_corellian_butterfly_defender.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic')
weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'energy')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,9 +23,9 @@ def addTemplate(core):
mobileTemplate.setHideType("Scaley Hide")
mobileTemplate.setHideAmount(4)
mobileTemplate.setSocialGroup("corellian butterfly")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_corellian_butterfly.iff')
@@ -37,6 +37,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,12 +23,12 @@ def addTemplate(core):
mobileTemplate.setHideType("Scaley Hide")
mobileTemplate.setHideAmount(27)
mobileTemplate.setSocialGroup("corellian butterfly")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_corellian_butterfly.iff')
templates.add('object/mobile/shared_corellian_butterfly_monarch.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
@@ -37,6 +37,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -37,6 +37,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,9 +23,9 @@ def addTemplate(core):
mobileTemplate.setHideType("Scaley Hide")
mobileTemplate.setHideAmount(8)
mobileTemplate.setSocialGroup("corellian butterfly")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_corellian_butterfly.iff')
@@ -37,6 +37,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,9 +27,10 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("durni")
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_durni.iff')
templates.add('object/mobile/shared_crazed_durni.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
@@ -38,6 +39,7 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("razor cat")
mobileTemplate.setAssistRange(10)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_corellian_sand_panther.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_3')
attacks.add('bm_flank_1')
attacks.add('bm_slash_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -21,8 +21,9 @@ def addTemplate(core):
mobileTemplate.setMeatType("Insect Meat")
mobileTemplate.setMeatAmount(9)
mobileTemplate.setSocialGroup("decay mite")
mobileTemplate.setAssistRange(6)
mobileTemplate.setAssistRange(12)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_rot_mite.iff')
@@ -34,6 +35,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_4')
attacks.add('bm_bolster_armor_4')
attacks.add('bm_enfeeble_4')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,8 +23,9 @@ def addTemplate(core):
mobileTemplate.setHideType("Scaley Hide")
mobileTemplate.setHideAmount(45)
mobileTemplate.setSocialGroup("dalyrake")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(24)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_dalyrake.iff')
@@ -36,6 +37,10 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_damage_poison_2')
attacks.add('bm_dampen_pain_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,8 +23,9 @@ def addTemplate(core):
mobileTemplate.setHideType("Scaley Hide")
mobileTemplate.setHideAmount(45)
mobileTemplate.setSocialGroup("dalyrake")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(24)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_dalyrake.iff')
@@ -36,6 +37,10 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_3')
attacks.add('bm_damage_poison_3')
attacks.add('bm_dampen_pain_3')
attacks.add('bm_slash_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,8 +23,9 @@ def addTemplate(core):
mobileTemplate.setHideType("Scaley Hide")
mobileTemplate.setHideAmount(60)
mobileTemplate.setSocialGroup("dalyrake")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(24)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_dalyrake_matriarch.iff')
@@ -36,6 +37,10 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_damage_poison_2')
attacks.add('bm_dampen_pain_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -39,6 +39,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -35,6 +35,10 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_damage_poison_2')
attacks.add('bm_slash_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureRangedAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("dire cat")
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_dire_cat.iff')
@@ -38,6 +39,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("vrelt")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_vrelt.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_bolster_armor_2')
attacks.add('bm_enfeeble_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("vrelt")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_vrelt.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_bolster_armor_2')
attacks.add('bm_enfeeble_2')
mobileTemplate.setDefaultAttack('creatureRangedAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("bageraset")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_bageraset.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_kick_2')
attacks.add('bm_spit_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(65)
mobileTemplate.setSocialGroup("humbaba")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_savage_humbaba.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_kick_2')
attacks.add('bm_spit_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,19 +25,24 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(145)
mobileTemplate.setSocialGroup("krahbu")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_krahbu.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_defensive_2')
attacks.add('bm_kick_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,6 +23,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("decay mite")
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_sickening_dung_mite_worker.iff')
@@ -34,6 +35,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bolster_armor_3')
attacks.add('bm_enfeeble_3')
mobileTemplate.setDefaultAttack('creatureRangedAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(2)
mobileTemplate.setSocialGroup("durni")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_durni.iff')
@@ -38,6 +39,7 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(90)
mobileTemplate.setSocialGroup("gronda")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_dwarf_gronda.iff')
@@ -38,6 +39,11 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_3')
attacks.add('bm_charge_3')
attacks.add('bm_dampen_pain_3')
attacks.add('bm_shaken_1')
attacks.add('bm_stomp_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(180)
mobileTemplate.setSocialGroup("gronda")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_gronda.iff')
@@ -38,6 +39,11 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_3')
attacks.add('bm_charge_3')
attacks.add('bm_dampen_pain_3')
attacks.add('bm_shaken_1')
attacks.add('bm_stomp_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,8 +23,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Avian Bones")
mobileTemplate.setBoneAmount(180)
mobileTemplate.setSocialGroup("enraged carrion spat")
mobileTemplate.setAssistRange(6)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_carrion_spat.iff')
@@ -36,6 +37,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_hamstring_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("tagage")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_tabage.iff')
@@ -38,6 +39,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_1')
attacks.add('bm_slash_1')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("dire cat")
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_female_dire_cat.iff')
@@ -38,6 +39,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -16,7 +16,7 @@ def addTemplate(core):
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setDeathblow(False)
mobileTemplate.setScale(1)
mobileTemplate.setMeatType("Carnivore Meat")
mobileTemplate.setMeatAmount(65)
@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("slice hound forest")
mobileTemplate.setAssistRange(6)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_forest_slice_hound.iff')
@@ -38,6 +39,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_hamstring_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("slice hound grassland")
mobileTemplate.setAssistRange(6)
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_female_grassland_slice_hound.iff')
@@ -38,6 +39,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_hamstring_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -0,0 +1,48 @@
import sys
from services.spawn import MobileTemplate
from services.spawn import WeaponTemplate
from resources.datatables import WeaponType
from resources.datatables import Difficulty
from resources.datatables import Options
from java.util import Vector
def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('female_great_grass_plains_tusk_cat')
mobileTemplate.setLevel(29)
mobileTemplate.setDifficulty(Difficulty.NORMAL)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(True)
mobileTemplate.setScale(1)
mobileTemplate.setMeatType("Carnivore Meat")
mobileTemplate.setMeatAmount(65)
mobileTemplate.setHideType("Bristly Hide")
mobileTemplate.setHideAmount(35)
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("razor cat")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(True)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_female_swamp_tusk_cat.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_1')
attacks.add('bm_slash_1')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('female_razor_cat', mobileTemplate)
return

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("razor cat")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(True)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_crimson_sand_panther.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_3')
attacks.add('bm_flank_1')
attacks.add('bm_slash_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("dire cat")
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_dire_cat.iff')
@@ -38,6 +39,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -0,0 +1,47 @@
import sys
from services.spawn import MobileTemplate
from services.spawn import WeaponTemplate
from resources.datatables import WeaponType
from resources.datatables import Difficulty
from resources.datatables import Options
from java.util import Vector
def addTemplate(core):
mobileTemplate = MobileTemplate()
mobileTemplate.setCreatureName('corellia_durni_fiendish')
mobileTemplate.setLevel(25)
mobileTemplate.setDifficulty(Difficulty.NORMAL)
mobileTemplate.setMinSpawnDistance(4)
mobileTemplate.setMaxSpawnDistance(8)
mobileTemplate.setDeathblow(False)
mobileTemplate.setScale(1)
mobileTemplate.setMeatType("Herbivore Meat")
mobileTemplate.setMeatAmount(5)
mobileTemplate.setHideType("Wooly Hide")
mobileTemplate.setHideAmount(3)
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(2)
mobileTemplate.setSocialGroup("durni")
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_durni.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
weapontemplate = WeaponTemplate('object/weapon/melee/unarmed/shared_unarmed_default.iff', WeaponType.UNARMED, 1.0, 6, 'kinetic')
weaponTemplates.add(weapontemplate)
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('fiendish_durni', mobileTemplate)
return

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("murra")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_forest_murra.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_charge_2')
attacks.add('bm_defenive_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("slice hound forest")
mobileTemplate.setAssistRange(6)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_corellian_slice_hound.iff')
@@ -38,6 +39,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_hamstring_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,6 +25,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("carrion spat")
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(True)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_giant_carrion_spat.iff')
@@ -36,6 +37,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_hamstring_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,6 +25,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("dalyrake")
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_giant_dalyrake.iff')
@@ -36,6 +37,10 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_3')
attacks.add('bm_damage_poison_3')
attacks.add('bm_dampen_pain_3')
attacks.add('bm_slash_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,9 +27,10 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("gubbur")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_gubbur.iff')
templates.add('object/mobile/shared_giant_gubbur.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_damage_poison_1')
attacks.add('bm_spit_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,6 +23,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("horned krevol")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(True)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_giant_horned_krevol.iff')
@@ -34,6 +35,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_bolster_armor_2')
attacks.add('bm_enfeeble_2')
mobileTemplate.setDefaultAttack('creatureRangedAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,7 +25,7 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(35)
mobileTemplate.setSocialGroup("wrix")
mobileTemplate.setAssistRange(10)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
@@ -39,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_3')
attacks.add('bm_flank_1')
attacks.add('bm_slash_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("slice hound grass")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_corellian_slice_hound.iff')
@@ -38,8 +39,10 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_hamstring_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('gassland_slice_hound', mobileTemplate)
core.spawnService.addMobileTemplate('grassland_slice_hound', mobileTemplate)
return

View File

@@ -19,8 +19,9 @@ def addTemplate(core):
mobileTemplate.setDeathblow(False)
mobileTemplate.setScale(1)
mobileTemplate.setSocialGroup("enraged carrion spat")
mobileTemplate.setAssistRange(6)
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_carrion_spat.iff')
@@ -32,6 +33,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_1')
attacks.add('bm_hamstring_1')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("razor cat")
mobileTemplate.setAssistRange(10)
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(True)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_dire_cat.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_3')
attacks.add('bm_flank_1')
attacks.add('bm_slash_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,9 +23,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Avian Bone")
mobileTemplate.setBoneAmount(48)
mobileTemplate.setSocialGroup("gulginaw")
mobileTemplate.setAssistRange(10)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_greater_gulginaw.iff')
@@ -37,6 +37,10 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_damage_poison_2')
attacks.add('bm_slash_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureRangedAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(180)
mobileTemplate.setSocialGroup("gronda")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(6)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_gronda.iff')
@@ -38,6 +39,11 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_3')
attacks.add('bm_charge_3')
attacks.add('bm_dampen_pain_3')
attacks.add('bm_shaken_1')
attacks.add('bm_stomp_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("gronda")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(True)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_gronda.iff')
@@ -38,6 +39,11 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_3')
attacks.add('bm_charge_3')
attacks.add('bm_dampen_pain_3')
attacks.add('bm_shaken_1')
attacks.add('bm_stomp_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("gronda")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_gronda.iff')
@@ -38,6 +39,11 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_3')
attacks.add('bm_charge_3')
attacks.add('bm_dampen_pain_3')
attacks.add('bm_shaken_1')
attacks.add('bm_stomp_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Hide")
mobileTemplate.setBoneAmount(3)
mobileTemplate.setSocialGroup("gubbur")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_gubbur.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_damage_poison_1')
attacks.add('bm_spit_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,9 +23,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Avian Bone")
mobileTemplate.setBoneAmount(25)
mobileTemplate.setSocialGroup("gulginaw")
mobileTemplate.setAssistRange(10)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_gulginaw.iff')
@@ -37,6 +37,10 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_damage_poison_2')
attacks.add('bm_slash_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureRangedAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("dire cat")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_gurrcat.iff')
@@ -38,6 +39,8 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,8 +23,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Avian Bones")
mobileTemplate.setBoneAmount(2)
mobileTemplate.setSocialGroup("rasp")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_plumed_rasp.iff')
@@ -36,6 +37,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_slash_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(80)
mobileTemplate.setSocialGroup("humbaba")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_savage_humbaba.iff')
@@ -38,6 +39,10 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_kick_2')
attacks.add('bm_spit_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(120)
mobileTemplate.setSocialGroup("krahbu")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_krahbu.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_defensive_2')
attacks.add('bm_kick_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -23,8 +23,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Avian Bones")
mobileTemplate.setBoneAmount(4)
mobileTemplate.setSocialGroup("rasp")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_plumed_rasp.iff')
@@ -36,6 +37,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_clash_2')
attacks.add('bm_slash_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,11 +25,12 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Hide")
mobileTemplate.setBoneAmount(2)
mobileTemplate.setSocialGroup("gubbur")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_gubbur.iff')
templates.add('object/mobile/shared_minor_gubbur.iff')
mobileTemplate.setTemplates(templates)
weaponTemplates = Vector()
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_damage_poison_1')
attacks.add('bm_spit_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -39,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_3')
attacks.add('bm_flank_1')
attacks.add('bm_slash_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(45)
mobileTemplate.setSocialGroup("murra")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_mountain_murra.iff')
@@ -38,6 +39,10 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_charge_2')
attacks.add('bm_defensive_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,9 +25,10 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(32)
mobileTemplate.setSocialGroup("murra")
mobileTemplate.setAssistRange(0)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_murra.iff')
mobileTemplate.setTemplates(templates)
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_charge_2')
attacks.add('bm_defensive_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -21,8 +21,9 @@ def addTemplate(core):
mobileTemplate.setMeatType("Insect Meat")
mobileTemplate.setMeatAmount(10)
mobileTemplate.setSocialGroup("horned krevol")
mobileTemplate.setAssistRange(10)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_mutated_krevol_clicker.iff')
@@ -34,6 +35,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_bolster_armor_2')
attacks.add('bm_enfeeble_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -27,6 +27,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("vrelt")
mobileTemplate.setAssistRange(10)
mobileTemplate.setStalker(True)
mobileTemplate.setOptionsBitmask(Options.AGGRESSIVE | Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_noxious_vrelt_scavenger.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_bite_2')
attacks.add('bm_bolster_armor_2')
attacks.add('bm_enfeeble_2')
mobileTemplate.setDefaultAttack('creatureRangedAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(2)
mobileTemplate.setSocialGroup("paralope")
mobileTemplate.setAssistRange(6)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_paralope.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_charge_2')
attacks.add('bm_defensive_2')
attacks.add('bm_slash_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,6 +25,7 @@ def addTemplate(core):
mobileTemplate.setSocialGroup("rasp")
mobileTemplate.setAssistRange(0)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_plumed_rasp.iff')
@@ -36,6 +37,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_2')
attacks.add('bm_slash_2')
attacks.add('bm_wing_buffet_2')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("razor cat")
mobileTemplate.setAssistRange(10)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_corellian_sand_panther.iff')
@@ -38,8 +39,11 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_3')
attacks.add('bm_flank_1')
attacks.add('bm_slash_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)
core.spawnService.addMobileTemplate('female_razor_cat', mobileTemplate)
core.spawnService.addMobileTemplate('razor_cat', mobileTemplate)
return

View File

@@ -25,8 +25,9 @@ def addTemplate(core):
mobileTemplate.setBoneType("Animal Bones")
mobileTemplate.setBoneAmount(30)
mobileTemplate.setSocialGroup("razor cat")
mobileTemplate.setAssistRange(10)
mobileTemplate.setAssistRange(2)
mobileTemplate.setStalker(False)
mobileTemplate.setOptionsBitmask(Options.ATTACKABLE)
templates = Vector()
templates.add('object/mobile/shared_corellian_sand_panther_cub.iff')
@@ -38,6 +39,9 @@ def addTemplate(core):
mobileTemplate.setWeaponTemplateVector(weaponTemplates)
attacks = Vector()
attacks.add('bm_claw_3')
attacks.add('bm_flank_1')
attacks.add('bm_slash_3')
mobileTemplate.setDefaultAttack('creatureMeleeAttack')
mobileTemplate.setAttacks(attacks)

Some files were not shown because too many files have changed in this diff Show More