mirror of
https://github.com/ProjectSWGCore/NGECore2.git
synced 2026-10-12 02:13:48 -04:00
Biolinking and buff item procs added
Rare buff items now have a working proc
This commit is contained in:
@@ -2,3 +2,22 @@
|
||||
def itemTemplate():
|
||||
|
||||
return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
|
||||
|
||||
def customItemName():
|
||||
|
||||
return "Cunning Of Tyranus"
|
||||
|
||||
def customColor1():
|
||||
|
||||
return 0
|
||||
|
||||
def lootDescriptor():
|
||||
|
||||
return 'rarecolorcrystal'
|
||||
|
||||
def itemStats():
|
||||
|
||||
stats = ['elemtype','heat','heat']
|
||||
stats +=['elemdamage','6','6']
|
||||
|
||||
return stats
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
def itemTemplate():
|
||||
|
||||
return ['object/tangible/wearables/base/shared_base_cloak_hooded.iff'] # needs correct iff still
|
||||
return ['object/tangible/wearables/robe/shared_robe_s05_h1.iff'] # needs correct iff still
|
||||
|
||||
@@ -2,3 +2,25 @@
|
||||
def itemTemplate():
|
||||
|
||||
return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
|
||||
|
||||
def customItemName():
|
||||
|
||||
return "Shard Of Ferocity"
|
||||
|
||||
def biolink():
|
||||
|
||||
return 1
|
||||
|
||||
def lootDescriptor():
|
||||
|
||||
return 'rarebuffitem'
|
||||
|
||||
def itemStats():
|
||||
|
||||
stats = ['buffeffect','Action','+500']
|
||||
stats +=['effectname','Ferocity','Ferocity']
|
||||
stats +=['duration','180','180']
|
||||
stats +=['cooldown','3600','3600']
|
||||
|
||||
return stats
|
||||
|
||||
|
||||
@@ -2,3 +2,24 @@
|
||||
def itemTemplate():
|
||||
|
||||
return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff'] # correct iff not found
|
||||
|
||||
def customItemName():
|
||||
|
||||
return "Shard Of Retaliation"
|
||||
|
||||
def biolink():
|
||||
|
||||
return 1
|
||||
|
||||
def lootDescriptor():
|
||||
|
||||
return 'rarebuffitem'
|
||||
|
||||
def itemStats():
|
||||
|
||||
stats = ['buffeffect','Action','+500']
|
||||
stats +=['effectname','towCrystalUberDs','towCrystalUberDs']
|
||||
stats +=['duration','180','180']
|
||||
stats +=['cooldown','3600','3600']
|
||||
|
||||
return stats
|
||||
@@ -6,3 +6,20 @@ def itemTemplate():
|
||||
def customItemName():
|
||||
|
||||
return 'Sith Holocron'
|
||||
|
||||
def biolink():
|
||||
|
||||
return 1
|
||||
|
||||
def lootDescriptor():
|
||||
|
||||
return 'rarebuffitem'
|
||||
|
||||
def itemStats():
|
||||
|
||||
stats = ['buffeffect','Action','+500']
|
||||
stats +=['effectname','Forbidden Knowledge I','Forbidden Knowledge I']
|
||||
stats +=['duration','180','180']
|
||||
stats +=['cooldown','3600','3600']
|
||||
|
||||
return stats
|
||||
@@ -2,3 +2,28 @@
|
||||
def itemTemplate():
|
||||
|
||||
return ['object/tangible/item/quest/force_sensitive/shared_fs_crystal_health.iff'] # needs correct iff still
|
||||
|
||||
def customItemName():
|
||||
|
||||
return "Biological Focus Crystal"
|
||||
|
||||
def requiredLevelForEffect():
|
||||
|
||||
return 80
|
||||
|
||||
def biolink():
|
||||
|
||||
return 1
|
||||
|
||||
def lootDescriptor():
|
||||
|
||||
return 'rarebuffitem'
|
||||
|
||||
def itemStats():
|
||||
|
||||
stats = ['buffeffect','Constitution','+250']
|
||||
stats +=['effectname','Extended Constitution','Extended Constitution']
|
||||
stats +=['duration','10800','10800']
|
||||
stats +=['cooldown','86400','86400']
|
||||
|
||||
return stats
|
||||
|
||||
@@ -2,3 +2,22 @@
|
||||
def itemTemplate():
|
||||
|
||||
return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
|
||||
|
||||
def customItemName():
|
||||
|
||||
return "Sunrider's Destiny"
|
||||
|
||||
def customColor1():
|
||||
|
||||
return 29
|
||||
|
||||
def lootDescriptor():
|
||||
|
||||
return 'rarecolorcrystal'
|
||||
|
||||
def itemStats():
|
||||
|
||||
stats = ['elemtype','heat','heat']
|
||||
stats +=['elemdamage','6','6']
|
||||
|
||||
return stats
|
||||
|
||||
@@ -1,4 +1,29 @@
|
||||
|
||||
def itemTemplate():
|
||||
|
||||
return ['object/tangible/item/quest/force_sensitive/shared_fs_crystal_health.iff']
|
||||
return ['object/tangible/item/quest/force_sensitive/shared_fs_crystal_force.iff'] # needs correct iff still
|
||||
|
||||
def customItemName():
|
||||
|
||||
return "Synapse Focus Crystal"
|
||||
|
||||
def requiredLevelForEffect():
|
||||
|
||||
return 80
|
||||
|
||||
def biolink():
|
||||
|
||||
return 1
|
||||
|
||||
def lootDescriptor():
|
||||
|
||||
return 'rarebuffitem'
|
||||
|
||||
def itemStats():
|
||||
|
||||
stats = ['buffeffect','Action','+500']
|
||||
stats +=['effectname','Extended Action','Extended Action']
|
||||
stats +=['duration','10800','10800']
|
||||
stats +=['cooldown','86400','86400']
|
||||
|
||||
return stats
|
||||
|
||||
@@ -2,3 +2,22 @@
|
||||
def itemTemplate():
|
||||
|
||||
return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
|
||||
|
||||
def customItemName():
|
||||
|
||||
return "Bane's Heart"
|
||||
|
||||
def customColor1():
|
||||
|
||||
return 16
|
||||
|
||||
def lootDescriptor():
|
||||
|
||||
return 'rarecolorcrystal'
|
||||
|
||||
def itemStats():
|
||||
|
||||
stats = ['elemtype','electricity','electricity']
|
||||
stats +=['elemdamage','5','5']
|
||||
|
||||
return stats
|
||||
|
||||
@@ -2,3 +2,28 @@
|
||||
def itemTemplate():
|
||||
|
||||
return ['object/tangible/component/weapon/lightsaber/shared_lightsaber_module_force_crystal.iff']
|
||||
|
||||
def customItemName():
|
||||
|
||||
return "Shard Of The Serpent"
|
||||
|
||||
def biolink():
|
||||
|
||||
return 1
|
||||
|
||||
def customColor1():
|
||||
|
||||
return 3
|
||||
|
||||
def lootDescriptor():
|
||||
|
||||
return 'rarebuffitem'
|
||||
|
||||
def itemStats():
|
||||
|
||||
stats = ['buffeffect','Action','+500']
|
||||
stats +=['effectname','Harmonious Counteraction','Harmonious Counteraction']
|
||||
stats +=['duration','180','180']
|
||||
stats +=['cooldown','3600','3600']
|
||||
|
||||
return stats
|
||||
@@ -1,4 +1,10 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
return
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_force_crystal_04_02')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_force_crystal_04_02')
|
||||
object.setAttachment('Post_BL_radial_filename', 'item/synapse_focus_crystal')
|
||||
object.setAttachment('radial_filename', 'item/biolink')
|
||||
return
|
||||
|
||||
@@ -1,4 +1,10 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
return
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_force_crystal_04_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_force_crystal_04_01')
|
||||
object.setAttachment('Post_BL_radial_filename', 'item/biological_focus_crystal')
|
||||
object.setAttachment('radial_filename', 'item/biolink')
|
||||
return
|
||||
|
||||
@@ -1,4 +1,22 @@
|
||||
import sys
|
||||
|
||||
def setup(core, object):
|
||||
object.setStfFilename('static_item_n')
|
||||
object.setStfName('item_jedi_robe_06_01')
|
||||
object.setDetailFilename('static_item_d')
|
||||
object.setDetailName('item_jedi_robe_06_01')
|
||||
|
||||
object.setStringAttribute('protection_level', 'Luminous')
|
||||
object.setStringAttribute('class_required', 'Jedi')
|
||||
object.setIntAttribute('required_combat_level', 80)
|
||||
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:constitution_modified', 100)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:strength_modified', 100)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:agility_modified', 100)
|
||||
object.setIntAttribute('cat_stat_mod_bonus.@stat_n:luck_modified', 100)
|
||||
|
||||
object.setStringAttribute('@set_bonus:piece_bonus_count_2', '@set_bonus:set_bonus_jedi_robe_1')
|
||||
|
||||
object.setAttachment('type', 'jedi_robe')
|
||||
object.setAttachment('setBonus', 'set_bonus_jedi_robe')
|
||||
return
|
||||
@@ -0,0 +1,58 @@
|
||||
from resources.common import RadialOptions
|
||||
from services.sui import SUIWindow
|
||||
from services.sui.SUIWindow import Trigger
|
||||
from java.util import Vector
|
||||
from java.lang import Long
|
||||
from main import NGECore
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.add(RadialOptions(0, 21, 1, ''))
|
||||
radials.add(RadialOptions(0, 7, 1, ''))
|
||||
radials.add(RadialOptions(0, 15, 1, ''))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, target, option):
|
||||
if option == 21 and target:
|
||||
bioLinkPrompt(core, owner, target, option)
|
||||
if option == 15 and target:
|
||||
core.objectService.destroyObject(target)
|
||||
return
|
||||
|
||||
def bioLinkPrompt(core, owner, target, option):
|
||||
|
||||
if not 'shared_character_inventory' in target.getContainer().getTemplate():
|
||||
owner.sendSystemMessage('@base_player:must_biolink_to_use_from_inventory', 1)
|
||||
return
|
||||
bl = target.getStringAttribute('bio_link')
|
||||
#if not '<pending>' in bl:
|
||||
# owner.sendSystemMessage('@base_player:not_linked_to_holder', 1) # This should never occur, because a bio-linked item should have another radial
|
||||
# return
|
||||
owner.setAttachment('BioLinkItemCandidate', Long(target.getObjectID()))
|
||||
window = core.suiService.createSUIWindow('Script.messageBox', owner, owner, 0)
|
||||
window.setProperty('bg.caption.lblTitle:Text', '@sui:bio_link_item_title')
|
||||
window.setProperty('Prompt.lblPrompt:Text', '@sui:bio_link_item_prompt')
|
||||
window.setProperty('btnCancel:visible', 'True')
|
||||
window.setProperty('btnOk:visible', 'True')
|
||||
window.setProperty('btnUpdate:visible', 'False')
|
||||
window.setProperty('btnCancel:Text', '@cancel')
|
||||
window.setProperty('btnOk:Text', '@ui_radial:bio_link')
|
||||
returnList = Vector()
|
||||
|
||||
window.addHandler(0, '', Trigger.TRIGGER_OK, returnList, bioLinkProcess)
|
||||
window.addHandler(1, '', Trigger.TRIGGER_CANCEL, returnList, bioLinkCancel)
|
||||
core.suiService.openSUIWindow(window);
|
||||
return
|
||||
|
||||
def bioLinkProcess(owner, window, eventType, returnList):
|
||||
objectID = owner.getAttachment('BioLinkItemCandidate')
|
||||
linkedobject = NGECore.getInstance().objectService.getObject(objectID)
|
||||
owner.sendSystemMessage('@base_player:item_bio_linked', 1)
|
||||
newRadial = linkedobject.getAttachment('Post_BL_radial_filename')
|
||||
linkedobject.setAttachment('radial_filename', newRadial)
|
||||
linkedobject.setStringAttribute('bio_link', owner.getCustomName())
|
||||
return
|
||||
|
||||
def bioLinkCancel(owner, window, eventType, returnList):
|
||||
|
||||
return
|
||||
@@ -0,0 +1,19 @@
|
||||
import resources.objects.creature.CreatureObject;
|
||||
from resources.common import RadialOptions
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.add(RadialOptions(0, 21, 1, ''))
|
||||
radials.add(RadialOptions(0, 7, 1, ''))
|
||||
radials.add(RadialOptions(0, 15, 1, ''))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, object, option):
|
||||
if option == 21:
|
||||
bl = object.getStringAttribute('bio_link')
|
||||
if not bl == owner.getCustomName():
|
||||
owner.sendSystemMessage('@base_player:not_linked_to_holder', 1)
|
||||
return
|
||||
core.buffService.addBuffToCreature(owner, 'forceCrystalHealth', owner)
|
||||
|
||||
return
|
||||
@@ -0,0 +1,19 @@
|
||||
import resources.objects.creature.CreatureObject;
|
||||
from resources.common import RadialOptions
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.add(RadialOptions(0, 21, 1, ''))
|
||||
radials.add(RadialOptions(0, 7, 1, ''))
|
||||
radials.add(RadialOptions(0, 15, 1, ''))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, object, option):
|
||||
if option == 21:
|
||||
bl = object.getStringAttribute('bio_link')
|
||||
if not bl == owner.getCustomName():
|
||||
owner.sendSystemMessage('@base_player:not_linked_to_holder', 1)
|
||||
return
|
||||
core.buffService.addBuffToCreature(owner, 'towCrystalUberCombat', owner)
|
||||
|
||||
return
|
||||
@@ -0,0 +1,19 @@
|
||||
import resources.objects.creature.CreatureObject;
|
||||
from resources.common import RadialOptions
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.add(RadialOptions(0, 21, 1, ''))
|
||||
radials.add(RadialOptions(0, 7, 1, ''))
|
||||
radials.add(RadialOptions(0, 15, 1, ''))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, object, option):
|
||||
if option == 21:
|
||||
bl = object.getStringAttribute('bio_link')
|
||||
if not bl == owner.getCustomName():
|
||||
owner.sendSystemMessage('@base_player:not_linked_to_holder', 1)
|
||||
return
|
||||
core.buffService.addBuffToCreature(owner, 'towCrystalUberDs', owner)
|
||||
|
||||
return
|
||||
@@ -0,0 +1,19 @@
|
||||
import resources.objects.creature.CreatureObject;
|
||||
from resources.common import RadialOptions
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.add(RadialOptions(0, 21, 1, ''))
|
||||
radials.add(RadialOptions(0, 7, 1, ''))
|
||||
radials.add(RadialOptions(0, 15, 1, ''))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, object, option):
|
||||
if option == 21:
|
||||
bl = object.getStringAttribute('bio_link')
|
||||
if not bl == owner.getCustomName():
|
||||
owner.sendSystemMessage('@base_player:not_linked_to_holder', 1)
|
||||
return
|
||||
core.buffService.addBuffToCreature(owner, 'towCrystalUberCombat', owner) # correct buff needs to be replaced
|
||||
|
||||
return
|
||||
@@ -0,0 +1,19 @@
|
||||
import resources.objects.creature.CreatureObject;
|
||||
from resources.common import RadialOptions
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.add(RadialOptions(0, 21, 1, ''))
|
||||
radials.add(RadialOptions(0, 7, 1, ''))
|
||||
radials.add(RadialOptions(0, 15, 1, ''))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, object, option):
|
||||
if option == 21:
|
||||
bl = object.getStringAttribute('bio_link')
|
||||
if not bl == owner.getCustomName():
|
||||
owner.sendSystemMessage('@base_player:not_linked_to_holder', 1)
|
||||
return
|
||||
core.buffService.addBuffToCreature(owner, 'towCrystalABImmune', owner)
|
||||
|
||||
return
|
||||
@@ -0,0 +1,19 @@
|
||||
import resources.objects.creature.CreatureObject;
|
||||
from resources.common import RadialOptions
|
||||
import sys
|
||||
|
||||
def createRadial(core, owner, target, radials):
|
||||
radials.add(RadialOptions(0, 21, 1, ''))
|
||||
radials.add(RadialOptions(0, 7, 1, ''))
|
||||
radials.add(RadialOptions(0, 15, 1, ''))
|
||||
return
|
||||
|
||||
def handleSelection(core, owner, object, option):
|
||||
if option == 21:
|
||||
bl = object.getStringAttribute('bio_link')
|
||||
if not bl == owner.getCustomName():
|
||||
owner.sendSystemMessage('@base_player:not_linked_to_holder', 1)
|
||||
return
|
||||
core.buffService.addBuffToCreature(owner, 'forceCrystalForce', owner)
|
||||
|
||||
return
|
||||
Reference in New Issue
Block a user