Biolinking and buff item procs added

Rare buff items now have a working proc
This commit is contained in:
CharonInferar
2014-06-01 20:29:36 +02:00
parent 7859d24583
commit b768272ef2
23 changed files with 611 additions and 14 deletions
@@ -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
+58
View File
@@ -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
+19
View File
@@ -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
+19
View File
@@ -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